我有一個C#項目使用AnyCPU構建。我們還動態加載一個目前依賴於32位本地DLL的功能。通過關閉此功能,應用程序可以非常高興地作爲64位應用程序運行。因此,Visual Studio確定應用程序將以64位進程運行。要強制應用程序以32位進程運行,我們在主項目上使用CorFlags將其設置爲32位,然後執行Post Build步驟。在Visual Studio外部運行應用程序時,此工作正常。但是,如果我使用F5調試應用程序,則會顯示一個錯誤,指示我有32/64位不匹配。看起來好像Visual Studio已經確定應用程序可以作爲64位進程運行並相應地設置調試器,但不知道我已經運行CorFlags將其強制爲32位。強制使用AnyCPU構建的C#WinForms應用程序作爲32位進程調試
有沒有什麼辦法來強制Visual Studio來調試應用程序作爲32位進程?我希望將平臺目標作爲AnyCPU離開,因爲第三方組件最終將升級到64位。
便宜的解決方法是將另一個項目構建添加爲32位,並將您的AnyCPU EXE作爲程序集加載並從Main運行Main ... –
如果在進程啓動後附加調試器,會發生什麼情況? –