Dot-Net
如何強制 MSBuild 編譯為 32 位模式?
我正在使用 MSBuild(通過NAnt)來編譯一堆VB.NET程序集。因為這些程序集依賴於 COM 互操作,所以我需要保證它們在 64 位作業系統上以 32 位模式執行。我可以通過更改 Visual Studio 中的項目來將可執行程序集編譯為 32 位,但我真的希望能夠強制在建構伺服器上將所有執行檔編譯為 32 位模式。
我已經嘗試了一些 MSBuild 的命令行參數,但沒有成功:
- /p:平台=win32
- /p:平台=x86
- /p:處理器架構=x86
我究竟做錯了什麼?在編譯 VB 項目時,是否有一些對 MSBuild 使用的屬性的參考?
如果程序集本身總是 32 位,為什麼不將設置添加到 .vbproj 文件?這將使 MSBuild 脫離等式。
只需將以下行添加到 .vbproj 文件中的初始 PropertyGroup
<PlatformTarget>x86</PlatformTarget>
根據MSDN,您正在做正確的事情。看起來像
/p:Platform=x86,但實際上,也許是/p:PlatformTarget=x86。嘗試使用該參數直接呼叫 MSBuild(確保您的 NAnt 文件沒有問題。查看正確建構配置(調試 /發布)的建構輸出。