2012-02-13 67 views
4

從C++/CLI DLL調用C#庫時授予最低權限請求這個問題從Assembly does not allow partially trusted callers when using a custom resolver無法從本地控制檯應用程序

感謝如下到該問題的解決方案,我現在可以叫成C#庫上來自本地控制檯應用程序的網絡共享(沒有對CasPol進行更改)

我現在需要從網絡上同一文件夾中的另一個混合C++/CLI DLL調用C#庫的下一步: C#庫。 C++/CLI DLL將由本地控制檯應用程序調用。

我使用上述問題中的相同自定義處理程序(即有證據),在從本地控制檯應用程序調用C#庫時起作用。

當調用到從本地控制檯應用程序,我得到下面的異常的C++/CLI庫:

無法加載文件或程序集「MyCplusplusCLILib,版本= 0.0.0.0, 文化=中性公鑰= null'或它的一個依賴關係。 無法授予最低權限請求。 (異常來自HRESULT: 0x80131417)

如果我完全相信它能夠正常工作的網絡位置,但是我不明白爲什麼我需要授予這種信任根據3.5 SP1改變內網應該不再需要FullTrust時被應用到它(所有庫在Visual Studio選項編譯爲.NET 3.5)

回答

6

,你獲得FullTrust在的this blog post底部所列情形:

  1. 從那裏將.exe從來自除所述一個其中主.EXE被髮射
  2. 裝載的機器上設置爲1 LegacyMyComputer註冊表值的任何其他組件加載股
  3. 組件推出份額的子目錄加載的程序集
  4. 任何程序集加載到CLR主機中,包括作爲控件加載到Internet Explorer中的程序集。
  5. 通過從「真實」MyComputer區域啓動的應用程序從共享加載的任何程序集。

聽起來像你的情況是數字5.複製.exe到同一個網絡目錄將是一個解決方法。

相關問題