2009-08-26 26 views
4

我工作的一劈到DotNetNuke的活動模塊。我已經設置了源代碼,並且它沒有修改就構建了A-OK。然而,當我改變EventMonth.ascx文件,Visual Studio的更新與它相關的.designer.vb文件...並且宣佈了錯誤類型的兩個對象!它看起來像這樣:爲什麼ASP.NET自動生成的.designer代碼具有不正確的類型?

Protected WithEvents EventIcons As Global.System.Web.UI.UserControl 

而且應該是這樣的:

Protected WithEvents EventIcons As Global.DotNetNuke.Modules.Events.EventIcons 

顯然,這是行不通的...編譯器(正確)拋出其中EventIcons在使用的錯誤碼。這是什麼原因?我可以很容易地手動修復它,但當然它會在稍後再次破壞。我不認爲這是一個事實,即該控件的ID是一樣的類名,因爲同樣的事情發生的同一控制的另一個實例,但使用不同的名稱。

更新:OK ......我相信這一切是因爲引用的用戶控件不能在設計時被發現。但它顯然在工作運行時:「什麼呢〜決心在設計時」

<%@ Register TagPrefix="evt" TagName="Icons" Src="~/DesktopModules/Events/EventIcons.ascx" %> 

這使得邏輯意義......但我想接下來的問題是我想我可以改變這只是「EventIcons.ascx」,它會生成代碼確定。但它會在運行時工作嗎? :|

+0

也http://stackoverflow.com/q/8677453/292060請參閱相關的問題,不涉及應用程序根目錄問題/解決方案。 – goodeye 2014-03-16 18:10:06

回答

8

由於項目並未在應用程序根目錄下啓動,因此必須先告訴項目實際應用程序根目錄的位置,然後才能正確解析~。進入項目屬性的Web選項卡,並確保在「Servers」標題下選擇「使用本地IIS Web服務器」。將項目URL設置爲您的特定項目的URL(即http://localhost/DotNetNuke_2/DesktopModules/Events)。然後,檢查覆蓋應用程序的根URL並將其設置爲應用程序的根URL(即http://localhost/DotNetNuke_2)。這將允許Web應用程序項目知道如何找到這些控件。

Src屬性是相對於對照,所以它應該正常工作,只是將其設置爲"EventIcons.ascx"而從應用程序的根指定它。

+0

賓果。很明顯,〜需要從實際的應用程序主機之外的某個地方獲得它的價值。謝謝! – Bryan 2009-08-26 17:21:27

0

〜解析爲應用程序文件夾的根目錄。

相關問題