小编Ada*_*ort的帖子

强制VS2022使用32位版本的msbuild

我目前正在研究将我们的工具集从 VS2013、15 和 17 迁移到 VS2022,以简化并减少构建我们的解决方案所需的软件数量。VS2022 拥有我们需要的所有部分,但是我正在努力通过 VS 本身构建实际的解决方案。

如果我在路径中使用附带的 32 位版本的 msbuild,则该解决方案构建完全正常C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe。然而,该C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\amd64\MSBuild.exe版本(我猜 VS22 使用的是哪个?)无法构建,并出现与 VS22 相同的错误。

值得注意的是,我们的解决方案/项目主要基于.net framework 2.0(不幸的是)并设置为x86平台。

我不断循环回到SGEN : error : An attempt was made to load an assembly with an incorrect format各种第一方和第三方 dll 上的以下错误。我一直在尝试以下组合:

  • x86在和之间更改项目,AnyCPU但无论项目及其引用的配置如何,错误仍然会出现
  • 关闭Generate serialization assembly项目,因为我在某处看到人们通过这样做成功解决了错误。
  • ToolsVersion4.0(我们当前的设置)更改为Current其他版本

我正在有效地寻找一种方法来强制 VS2022 使用 32 位 msbuild(如果可能的话),因为它构建整个解决方案而不进行任何更改。

我还注意到 VS 输出窗口中存在以下内容:

Task attempted …
Run Code Online (Sandbox Code Playgroud)

c# msbuild sgen visual-studio visual-studio-2022

8
推荐指数
1
解决办法
6341
查看次数

标签 统计

c# ×1

msbuild ×1

sgen ×1

visual-studio ×1

visual-studio-2022 ×1