你好,这是我第一次使用msbuild,我似乎无法将其编译为dll,我一直在获取
错误和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