2009-04-24 91 views
0

好的,這裏是交易。我有這個名爲Import.exe的項目。它會查找一個文件,解析它並使用Castle AR導入。這在命令行運行很好。Castle ActiveRecord - 命令行程序集與VB.Net程序集問題

既然Import.exe需要從文件上傳後的VB.NET web程序運行。我使用System.Debug.Process.Start來調用exe。文件上傳罰款,程序運行(我看到它在任務管理器幾秒鐘),我已經重定向錯誤輸出,它是給我這個:

未處理的異常:System.IO.FileLoadException:無法加載文件或程序集'Castle.ActiveRecord,Version = 1.0.3.0,Culture = neutral,PublicKeyToken = 407dd0808d44fbdc'或其某個依賴項。訪問被拒絕。

我有DLL在與EXE的相同的文件夾。我已經將這些添加到了GAC中,並且我甚至將這些程序集引用添加到了網站web.config文件中。

現在,由於我來自Linux/Ruby Camp,我處於非常陌生的領域,並且已經耗盡了所有資源。任何幫助將不勝感激!哎呀,甚至解釋或鏈接到良好的參考,以瞭解命令行與VB.NET程序集的差異將是很大的。

回答

1

.NET Framework對於Web端有一些相當嚴格的默認安全設置。我猜你會需要給你的調用程序一些更寬鬆的信任設置。

有一點sample program at MSDN,你可以嘗試從你的web程序(而不是你的Import.exe)啓動來查看默認授予的訪問類型。

一旦您瞭解了您的特定應用程序需要什麼類型的信任,您可以follow these steps修改您調用的程序集的信任級別。

祝你好運!從Linux到Windows的過渡可能會特別痛苦:)