我刚刚将包含 VC++(本机和托管)项目以及 C# 项目的软件从 .NET 3.5 迁移到 4.0。我们使用 MsBuild 构建,现在享受 MsBuild 4.0 的好处,它现在以相同的方式处理 C# 和 C++ 项目。有一个问题,但是到目前为止我无法解决。
我正在使用 TargetOutputs ItemGroup 来进一步处理生成的二进制文件。这适用于 C# 和托管 C++(clr 支持),但即使项目已正确构建,本机 C++ 程序集(无公共语言运行时支持)也不会放置在此 ItemGroup 中。
这是正在使用的语句,之后 @(MyProjectsOutput) 不包含本机 C++ 程序集。
<MSBuild Projects="@(MyProjects)" Targets="Rebuild" Properties="Platform=x64;Configuration=Release">
<Output TaskParameter="TargetOutputs" ItemName="MyProjectsOutput" />
</MSBuild>
知道可能是什么原因吗?我很困在这里......提前谢谢。
埃里克