2010-11-17 34 views
1

我想在我的項目中包含.net TinyMCE dll。我使用的代碼是:TinyMCE .NET dll找不到

<%@ Register Assembly="Moxiecode.TinyMCE" Namespace="Moxiecode.TinyMCE.Web" tagprefix="tinymce" %> 

我已經添加的dll到項目中的引用和我檢查的代碼在我的csproj,以確保它是正確的。我修改了它以確保它具有路徑提示。

<Reference Include="Moxiecode.TinyMCE, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>bin\Moxiecode.TinyMCE.dll</HintPath> 
    <SpecificVersion>False</SpecificVersion> 
</Reference> 

當我嘗試建立我的項目,我收到錯誤消息:

無法加載文件或程序集 「文件:/// C:ProjectPath] \ BIN \ Moxiecode.TinyMCE '.dll' 或它的一個依賴關係。操作 不受支持。 (例外從 HRESULT:0x80131515)

如何解決此錯誤?我曾試圖打開和關閉VS2010。添加和刪​​除參考。沒有任何工作。


經過更多的研究,看來問題是我使用.Net 4.0和TinyMCE的.Net dll沒有強名稱。基本上,它沒有一個PublicKeyToken。我該如何解決這個問題?

+0

我已經編輯我的答案有一個更新的效應初探到您的SNK查詢 – Basic 2010-11-18 18:23:14

回答

2

我不知道這是否會解決這個問題,但爲您提示的路徑是相對的,我相信你需要用.\(或..\父)

哪裏是在實際的路徑啓動DLL?你有沒有嘗試設置生成輸出水平診斷(Tools -> Options... -> Projects and Solutions -> Build and Run

這是否給你任何更多的信息?

出於測試目的,請嘗試創建C:\Bin\Moxiecode並將該DLL放入其中。這是否解決了這個問題? (在這種情況下,這是一個路徑問題)。如果沒有,它可能是其他東西是拋出一個誤導性的異常(腐敗dll或類似?)。 [編輯:在編輯Q之前,此段落中提到的路徑是正確的]

更新:如果您有一個正在使用強名稱編譯的項目,則所有引用也必須有一個。這是爲了確保你的代碼沒有惡意注入的東西。你唯一的選擇是:

  • 請勿用力簽上你的項目[衰]
  • 重新編譯違規DLL自己與SNK [好,如果你可以得到源]
  • 獲取DLL的開發人員打造您一個與SNK [好,如果你能得到它的出現]
+0

我的其他參考路徑是完全一樣的,並沒有工作的問題。我試圖將該DLL放在'C:\ Bin \ Moxiecode.TinyMCE.dll'中,並且沒有奏效。 – 2010-11-17 19:16:51

+2

我確實在診斷模式下構建了它,並且出現了這樣的錯誤'試圖從網絡位置加載程序集,這會導致程序集在以前版本的.NET Framework中被沙盒化。此版本的.NET Framework默認情況下不啓用CAS策略,因此此加載可能很危險。如果此加載不是爲了裝配沙盒,請啓用loadFromRemoteSources開關。然後,它引用此:http://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx。事情是,文件是本地的。 – 2010-11-17 19:18:13

+0

有趣。在瀏覽器中使用File://語法時可以引用UNC路徑,但我不確定它在此處的用法。出於測試目的,你可以嘗試創建一個新的項目,只需引用該DLL並編譯它 - 這是否也會失敗?順便說一句,當你下載DLL的時候,有沒有機會設置不安全的下載標誌?取決於您使用的操作系統,但右鍵單擊屬性,然後查看@常規選項卡以及高級按鈕。 – Basic 2010-11-18 10:40:32