c# - 第一次使用msbuild

标签 c# windows msbuild compiler-errors

你好,这是我第一次使用msbuild,我似乎无法将其编译为dll,我一直在获取

C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(490,9): e rror : The OutputPath property is not set for this project. Please check to mak e sure that you have specified a valid Configuration/Platform combination. Conf iguration='Debug' Platform='Any CPU'



错误和iv搜索无处不在,似乎没有解决方案,iv尝试在不同的机器上仍然是相同的错误,并且我检查了环境变量,似乎没有影响它,我还确保proj文件包含bin \ Debug \任何人都可以告诉我我哪里错了?即时通讯陷入困境。抱歉,如果我没有太多意义,我对此非常陌生并且学习。

最佳答案

您的.csproj文件应包含<OutputPath>bin\Debug\</OutputPath>。当Visual Studio创建项目文件时,它将<OutputPath>放入由Configuration和Platform组合条件的<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用作Platform的默认值,就像您的错误消息所说的那样。

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

强制它的一种简单方法是为OutputPath属性提供一个值作为命令行开关:
MSBuild my.csproj /p:OutputPath=bin\Debug\

问题可能在于通常包含<PropertyGroup><OutputPath>也具有可能需要的更多选项,因此您可能只需要在项目文件中找到Configuration和Platform的有效组合即可。找到这样的组合后,您可以使用相同的命令行开关相应地设置属性:
MSBuild my.csproj /p:Configuration=Release /p:Platform=x86

关于c# - 第一次使用msbuild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279933/

相关文章:

java - 如何判断java程序运行时是否以管理员身份运行

visual-studio-2008 - MSBuild,使用不同的配置构建依赖项目

msbuild - 有什么方法可以更新 MSBuild 项元数据值吗?

c# - 从 Win32_PrintJob 获取总页数

c++ - 为什么 WSARecvMsg 函数实现为一个函数指针,这个指针是否可以重用?

c# - 使用 http 请求 C# WPF 获取 facebook 用户的用户 ID

windows - 无法在 Windows 7 的 MinGW32 中创建简单的 Git 别名

.net - 并行 visual studio 解决方案构建

c# - 如何使用 CommandParameter 传递 UserControl?

c# - 将模拟参数传递给模拟接口(interface)