最近在我的解決方案中發現了一件奇怪的事情。 我總是將根名稱空間留在我的項目中。然後,我將所有的命名空間寫入頁面的繼承指令中,並在後面的代碼中使用子句名稱空間。一切按預期工作。命名空間中的奇怪行爲
現在我遇到了面向插件的編程,我正在使用VirtualPathProvider。標準類可以在forums.asp.net文章中找到。 發生了什麼事是VirtualPathProvider無法解析插件項目中的嵌入式頁面(命名空間MEFTestPlugin1 pEx。),並且發現在那裏沒有命名空間。
錯誤:〜/插件/ MEFTestPlugin1.dll/MEFTestPlugin1.Default.aspx
實測值:〜/插件/ MEFTestPlugin1.dll/Default.aspx的
所以我不得不通知在根命名空間項目,然後第一個網址工作。 但後來沒有找到代碼隱藏。
所以,我終於發現,只有兩個工作組合是:
<%@ Page Title="" Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="MEFTestPlugin1._Default" %>
Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write("Code-Behinds Worky")
End Sub
End Class
或者
<%@ Page Title="" Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="MEFTestPlugin1.MEFTestPlugin1._Default" %>
Namespace MEFTestPlugin1
Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write("Code-Behinds Worky")
End Sub
End Class
End Namespace
請注意,在頁面指令的雙重命名空間。
在我所有的解決方案和項目中都發生過這種情況,但我不知道。 我下載的任何示例解決方案都通知了彙編和根名稱空間,並在代碼隱藏中定義了名稱空間,但它們正常工作!
有誰知道可能是什麼問題?當然是我錯過了解決方案配置......或者說我所有的東西都是VB !! 我的解決方案從以前的版本升級到VS2010。這個事實可能是問題嗎?
謝謝。