我有一個正常的winforms應用程序。我運行它,並在另一個.dll(解決方案的另一個項目部分)中調用某些邏輯。我得到一個錯誤(我自己的除外)說,無法加載組件等等等等無法加載程序集
我用匯編日誌查看器,但無法找到一個問題 - 我所發現的是,Windows服務程序使用安裝/部署在另一個帳戶上。我的winforms應用程序調用這個服務,它反過來調用它自己和不同的.dll中的邏輯。
這可能是一個問題? 感謝
我有一個正常的winforms應用程序。我運行它,並在另一個.dll(解決方案的另一個項目部分)中調用某些邏輯。我得到一個錯誤(我自己的除外)說,無法加載組件等等等等無法加載程序集
我用匯編日誌查看器,但無法找到一個問題 - 我所發現的是,Windows服務程序使用安裝/部署在另一個帳戶上。我的winforms應用程序調用這個服務,它反過來調用它自己和不同的.dll中的邏輯。
這可能是一個問題? 感謝
檢查項目.NET框架版本,您的裝配.NET框架版本,問題可能出現。
問候。
確保它在尋找組件處於你是從運行應用程序的同一目錄下,或者它的註冊在GAC(全局程序集緩存) - 這是正確的版本。
確保您的應用程序及其所有依賴項都是32位或全部64位程序集。
如果您使用FileDialog並打開/保存/將文件寫入另一個目錄,而不是包含您的exe/dll的目錄,它將更改程序工作目錄(如果未設置FileDialog.RestoreDirectory = true
)。這一個讓我適應了一段時間,並會解釋爲什麼它會出現間歇性。
我該怎麼做?這個問題是間歇性的btw。 – blade33
@ blade33:位不是間歇的,所以這可能不是你的情況的問題。在.DLL或.EXE上運行'dumpbin/headers'和'dumpbin/clrheader'來找出平臺。 –
您也可以檢查Visual Studios中的配置管理器,如果它錯誤(然後重新編譯),那麼您將在其中修復它。 – JGWeissman