我有一个VS2013安装项目,它构建安装由两个C#项目生成的exes的设置。当我构建安装项目时,我得到重复的消息,好像有两个构建过程。我从安装项目的输出中删除了两个exes中的一个,但我仍然收到重复的消息。
------ Starting pre-build validation for project 'SetupWindowsService' ------
------ Starting pre-build validation for project 'SetupWindowsService' ------
------ Pre-build validation for project 'SetupWindowsService' completed ------
------ Pre-build validation for project 'SetupWindowsService' completed ------
2>------ Build started: Project: SetupWindowsService, Configuration: Release ------
2>------ Build started: Project: SetupWindowsService, Configuration: Release ------
Building file 'C:\projects\SetupTESTWindowsService\Release\SetupWindowsService.msi'...
Building file 'C:\projects\SetupTESTWindowsService\Release\SetupWindowsService.msi'...
Packaging file 'MoreLinq.dll'...
Packaging file 'MoreLinq.dll'...
Packaging file 'System.Web.Razor.dll'...
Packaging file 'System.Web.Razor.dll'...
................
所有dll依赖项都是重复的。构建项目产生的输出是可以的(即msi文件)。 TargetPlatform是x86。在配置管理器中,Active解决方案平台是Any CPU,Active解决方案配置是Release。安装项目所依赖的所有项目都是Release / Any CPU。
这是正常的吗?我正在使用在Win 7 64位Ultimate上运行的VS 2013 Premium Update 3。
由于
只是更新:我在notepad ++中打开了vdproj,并删除了“Configurations”下的Debug配置。构建项目,不再有重复的消息。我以为这解决了它。是否有其他重建和重复项。
答案 0 :(得分:8)
我认为这是Visual Studio或其构建过程中的错误。
我和VS2015有同样的问题;有时IDE会启动多个任务来构建相同的安装项目。一旦它开始这样做,它只会变得更糟。如果我继续,我可以尝试三个任务尝试相同的构建,有时这些任务会相互作用并导致其中一个失败。
我发现最简单的解决方法是简单地退出并重新加载整个IDE。
我怀疑在IDE工具/选项/项目和解决方案/构建和运行中更改最大并行构建数也将起作用:
https://msdn.microsoft.com/en-us/library/y0xettzf%28v=vs.90%29.aspx
答案 1 :(得分:0)
使用VS 2013编译Visual Studio项目时,为什么DLL会有重复的输出?这是我对你的问题的看法,没有看到你的* .csproj文件。
您的MSBuild似乎设置为重复输出,这很容易更改,您可以点击链接获取更多信息。
这是一个"可选的布尔属性" 如果为true,则记录对目标“返回”中相同项目的多个引用。
但是,默认情况下,此属性为false。在没有看到您的项目的情况下,使用记事本或类似工具打开* .csproj并向下滚动到底部,以下是我的VS 2015社区IDE中的默认设置。进行更改以试验您的输出。
<!-- To modify your build process...
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
如果这回答了你的问题,请将其标记为已接听,请相当(请求声音)。
答案 2 :(得分:-2)
将启动条件.NET框架版本更改为:
.NET Framework 4