0

你好,这是我第一次使用 msbuild,我似乎无法将它编译为 dll,我一直得到一个

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(490,9):错误:未为此项目设置 OutputPath 属性。请检查以确保您指定了有效的配置/平台组合。配置='调试'平台='任何 CPU'

错误和 iv 到处搜索,似乎没有解决方案,iv 在不同的机器上尝试过,仍然是相同的错误,我检查了环境变量,似乎没有一个影响它也我确保 proj 文件包含 bin\Debug\ 任何人都可以告诉我哪里错了?我难住了。抱歉,如果我没有多大意义,我只是对此和学习非常陌生。

4

1 回答 1

1

您的 .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用作ConfigurationAnyCPUfor的默认值Platform,就像您的错误消息所说的那样。

因此,显然,您的项目文件没有<PropertyGroup>包含<OutputPath>Debug|AnyCPU 组合的 。

强制它的一种简单方法是为 OutputPath 属性提供一个值作为命令行开关:

MSBuild my.csproj /p:OutputPath=bin\Debug\

问题可能是通常<PropertyGroup>包含的<OutputPath>还有更多可能需要的选项,因此您可能只需要在项目文件中找到配置和平台的有效组合。找到这样的组合后,您可以使用相同的命令行开关相应地设置属性:

MSBuild my.csproj /p:Configuration=Release /p:Platform=x86
于 2012-09-07T19:28:53.700 回答