2012-11-05 22 views
1

我正在使用C#構建Enterprise Architect插件。我必須與SVN Repository進行交互。 我正在使用VS2010和SharpSVN作爲庫與SVN存儲庫進行交互。我的外接程序工作正常,當我將其更改爲.NET 3.5。但是現在我必須用另外一個加載項進行查詢,而其他加載項僅與4.0兼容。混合模式程序集是針對版本'v2.0.50727'構建的C#企業架構師插件

但是當我改變我的加載代碼到.NET 4.0,然後把它交給著名的錯誤

「混合模式組件構建針對運行時的版本「V2.0.50727,且不能在4.0運行時加載並需要一些配置等「

我已經在這裏閱讀了關於該問題的不同主題,並建議添加app.config文件。與標籤

<Configuration> 
<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 
<runtime> 
    <NetFx40_LegacySecurityPolicy enabled="true"/> 
</runtime> 
</Configuration> 

和相同的喜歡標籤這從不同的職位。我已經嘗試了所有人,但仍然存在問題。我已經檢查過,VS2010會自動生成帶有Debug文件夾中文件名的配置文件。

任何人都可以向我推薦解決方案嗎?例如我的加載項名稱是MyAddIn,因此VS2010會生成帶有上述標記的MyAddIn.dll和MyAddIn.dll.config。

但問題依然存在。我正在使用Windows 7 64位。

任何幫助將不勝感激。

回答

3

* .dll.config中的設置是無用的,這就是爲什麼你不能得到你想要的。由於您的dll是由Enterprise Architect加載的,您將不得不修改其* .app.config文件以包含這些設置。通常,這是不可能的,因爲你的dll只是一個加載項。

一種解決方法是執行完全遷移到.NET 4,這不僅編譯你對.NET 4的dll,而且彙編其對.NET 4

+0

所有依賴我試圖編譯它對抗。 NET 4.0,它會得到編譯,但是當我在Enterprise Architect中訪問我的加載項時,它會在運行時給它「混合模式程序集針對版本'v2.0.50727''構建」錯誤 對此問題的任何解決方案讚賞。 –

+0

當你說「它」時,請重新閱讀我輸入的內容。簡而言之,它鏈接的所有依賴項(引用)也需要重新編譯爲.NET 4。 –