【发布时间】:2011-03-22 18:56:00
【问题描述】:
此问题的相关解决方案和项目文件位于:
http://code.google.com/p/benfwaves/source/browse/trunk/BenfWaves.sln?r=26
http://code.google.com/p/benfwaves/source/browse/trunk/BenfWaves.Client/BenfWaves.Client.csproj?r=26
http://code.google.com/p/benfwaves/source/browse/trunk/BenfWaves.Tests/BenfWaves.Tests.csproj?r=26
我尝试重构项目文件以消除冗余并允许编译为 .NET 3.5 和 .NET 4.0。目前,VS2010 IDE 可以为 .NET 4.0 上的任何 CPU 编译。如果我尝试 .NET 3.5 的任何 CPU,它会说:
错误 1 无法加载文件或程序集“System.Drawing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。第 123 行,位置 5。D:\projects\BenfWaves\trunk\BenfWaves.Client\Properties\Resources.resx 123 5 BenfWaves.Client
我了解到这可能是 resgen.exe 的问题,但是更改该文件上的 32 位标志并没有改善这种情况。此外,IDE 不认为项目具有任何 CPU 以外的配置,这会产生以下问题:
------ Skipped Build: Project: BenfWaves.Library, Configuration: Debug-4.0 Any CPU ------
Project not selected to build for this solution configuration
------ Build started: Project: BenfWaves.Client, Configuration: Debug-4.0 x86 ------
BenfWaves.Client -> D:\projects\BenfWaves\trunk\BenfWaves.Client\bin\x86\Debug-4.0\BenfWaves.Client.exe
------ Skipped Build: Project: BenfWaves.Tests, Configuration: Debug-4.0 Any CPU ------
Project not selected to build for this solution configuration
========== Build: 1 succeeded or up-to-date, 0 failed, 2 skipped ==========
它跳过了不该跳过的东西。命令行中的 msbuild 适用于所有三个平台,并且不会跳过任何内容。
非常欢迎任何建议。谢谢。
编辑:在 27 版之后,至少“未选择”问题不再存在,因为我在项目中添加了虚拟配置行以欺骗 VS2010 使其正常工作。但是.NET 3.5下的资源编译问题依然存在。
【问题讨论】:
标签: c# visual-studio-2010 msbuild