Dr.*_*ABT 1 msbuild wpf batch-file visual-studio-2010
我必须承认,对于MSBuild和批处理文件,我有点像菜鸟,所以请耐心等待;)
我有一个文件夹结构,看起来像这样
/src
/SLProject
SLExampleProject.csproj
/WPFProject
WPFExampleProject.csproj
ExampleSolution.sln
Deploy.bat
Run Code Online (Sandbox Code Playgroud)
该解决方案包含多个Silverlight WPF项目,这些项目由/ SLProject和/ WPFProject级别的文件夹分隔.我正在尝试创建批处理文件Deploy.bat以在Silverlight和WPF项目的子集上执行MSBuild,将输出和xcopy DLL混淆到另一个文件夹.
我在与MSBuild相关的批处理文件中遇到问题.当我为要构建的第一个WPF项目指定平台和配置时,我收到错误"没有为项目设置OutputPath属性"...

以下是导致失败的批处理文件的行
call %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
/t:rebuild /p:Configuration=Release /p:Platform="Any CPU"
Abt.Controls.SciChart.Wpf/Abt.Controls.SciChart.Wpf.csproj
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么想法?我可以证实存在的输出路径为这个项目设置和平台=释放和配置的组合=存在在建项目和它的依赖AnyCPU.
好奇地删除平台="任何CPU",构建成功...
直接构建项目文件时,必须指定项目文件中定义的配置和平台组合.默认情况下,Visual Studio 2010将仅为.NET项目创建Debug | x86和Release | x86.从解决方案文件构建时,这不是问题,因为默认情况下,它会将平台(例如"任何CPU"或"混合平台")映射到项目文件中指定的有效平台之一.
因此,您有两个选项,在从批处理文件构建时为平台指定"x86",或者使用Visual Studio中的Configuration Manager为每个项目创建"任何CPU"的新平台配置.此外,当您为项目创建"任何CPU"平台时,它实际上在项目文件中称为AnyCPU,因此您需要在批处理文件中指定AnyCPU而不是"Any CPU".但是,从命令行构建解决方案时,您仍然需要指定"任何CPU",这只是一个恼人的不一致.
| 归档时间: |
|
| 查看次数: |
2092 次 |
| 最近记录: |