您的 .csproj 文件应包括<OutputPath>bin\Debug\</OutputPath>
. 当 Visual Studio 创建项目文件时,它会将其放入由配置和平台组合决定<OutputPath>
的<PropertyGroup>
元素中,如下所示:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
...
</PropertyGroup>
现在,如果您从没有参数的命令行运行 MSBuild,它将Debug
用作Configuration
和AnyCPU
for的默认值Platform
,就像您的错误消息所说的那样。
因此,显然,您的项目文件没有<PropertyGroup>
包含<OutputPath>
Debug|AnyCPU 组合的 。
强制它的一种简单方法是为 OutputPath 属性提供一个值作为命令行开关:
MSBuild my.csproj /p:OutputPath=bin\Debug\
问题可能是通常<PropertyGroup>
包含的<OutputPath>
还有更多可能需要的选项,因此您可能只需要在项目文件中找到配置和平台的有效组合。找到这样的组合后,您可以使用相同的命令行开关相应地设置属性:
MSBuild my.csproj /p:Configuration=Release /p:Platform=x86