我使用msbuild构建整个Visual Studio解决方案,它工作正常,但是当我构建整个解决方案时,有一个项目没有构建
这是我的msbuild脚本
<MSBuild Condition="'$(debug)' ==''"
Projects="$(MySolution)"
Targets="build"
Properties="Configuration=Release">
<Output TaskParameter="TargetOutputs" ItemName="BuildOutput" />
</MSBuild>
我需要在Visual Studio解决方案中检查这个特定项目吗?
答案 0 :(得分:15)
如果这是一个添加到解决方案的新项目,并且所有其他项目都正常建设,我的猜测是新项目尚未包含在解决方案配置构建列表中。在VS Solution Explorer中右键单击解决方案节点并打开配置管理器对话框,确保在所有相关配置(Debug,Release ...)中检查新项目是否已构建,我正在讨论此对话框:
答案 1 :(得分:2)
我遇到了同样的问题,但接受的解决方案不适用,因为我的解决方案中的所有项目都设置为在所有相关配置中构建。
我最后仔细查看了我的sln文件,发现了一个阻止MSBuild构建Project2的恶意合并错误:
Project("{Guid1}") = "Project1", "Project1\Project1.csproj", "{Guid2}"
Project("{Guid1}") = "Project2", "Project2\Project2.csproj", "{Guid3}"
EndProject
在我上次git rebase
之后合并时,我意外地切断了EndProject
。将其添加回修复问题,如下所示:
Project("{Guid1}") = "Project1", "Project1\Project1.csproj", "{Guid2}"
EndProject
Project("{Guid1}") = "Project2", "Project2\Project2.csproj", "{Guid3}"
EndProject
(我使用的是Visual Studio 2015)