2016-09-29 69 views
0

我已經在DNN 7.4.1的本地安裝中爲Visual Studio 2015使用Christoc模塊開發模板創建了一個模塊。在我的模塊中,我使用Telerik控件以及DNN控件,包括dnn:DnnJsInclude,dnn:TextEditor,telerik:RadGrid等等。DNN Christoc模塊開發模板中的Intellisense不適用於註冊控件

我先前由註冊爲通過「創建模塊」嚮導控制安裝在網站上的模塊,但決定使用模板將它打包爲模塊,這樣我可以在源控制有它。

我使用該模板安裝了一個空白模塊,然後將其複製到模塊後面的標記和代碼中。

我用模板遇到的問題是智能感知不再承認任何我不得不註冊和因此,我看不到任何屬性爲這些控件的控件。這使得開發非常困難,但是模塊確實構建。我註冊的控制是這樣的:

<%@ Register TagPrefix="dnn" Assembly="DotNetNuke.Web" Namespace="DotNetNuke.Web.UI.WebControls" %> 
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %> 
<%@ Register TagPrefix="dnn" TagName="TextEditor" Src="~/controls/TextEditor.ascx" %> 
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> 

除此之外,我的隱藏文件的代碼無法識別控件的類型時,我已經使用了文本編輯控制,所以我不得不施展它得到它來編譯。此外,當我嘗試使用嵌入式代碼塊時,儘管模塊能夠構建,但我得到的錯誤是當前上下文中不存在方法。

我不會有這個問題與其他模塊使用我控制Syncfusion創建,這可能是相關的組件在GAC中註冊的,雖然我不知道這是爲什麼的原因。

我知道這裏有幾個不同的問題詳細,但如果任何人都可以闡明如何解決這些問題的任何光線,我將非常感激。

+0

也許這將幫助:http://stackoverflow.com/questions/3304741/getting-type-or-namespace-name-could - 不是 - 被發現的,但是,一切,似乎-OK。 – VDWWD

回答

0

我找到了一些解決方案來解決我的問題。

爲了讓智能感知註冊Telerik控制和DNN在DNN總成控制,我不得不在模塊中創建一個bin文件夾,並添加以下dll的:

  • DotNetNuke.dll
  • DotNetNuke.Web.dll
  • DotNetNuke.WebControls.dll
  • Telerik.Web.UI.dll

然後我重建模塊並重新啓動Visual Studio和Intellisense正在工作。

我仍然有註冊控件的問題,即文本編輯,URLControl和我不必手動註冊它們的代碼隱藏像這樣:

protected DotNetNuke.UI.UserControls.UrlControl urlControl; 
0

幾個問題。

關於智能感知,您是否使用模板設置使用的DNNDEV.ME網址?我會從那裏開始確保事情能夠正常工作100%如果您爲環境使用不同的URL,請右鍵單擊該項目,選擇屬性並在Web選項卡上配置適當的URL。有時會導致智能感知問題。

關於後面的代碼,您可能需要右鍵單擊ASCX文件和「轉換爲Web應用程序」或類似的東西,這應該會生成很可能會丟失的.designer文件。

+0

嗨克里斯,我做了一個快速編輯,因爲我注意到我已經寫了Visual Studio 2012而不是2015年,如果有所作爲,DNN 7.4.1而不是7.4.2。是的,我正在使用DNNDEV.ME網址。我將.csproj文件轉換爲一個Web應用程序,因爲我無法爲ascx文件執行該操作,但這沒有任何效果。當我打開網站並導航到desktopmodules文件夾時,我也注意到我沒有智能感知問題,但是當我剛打開模塊項目時,我確實遇到了這些問題。 –