5

我有一个用于 Web 应用程序的 Visual Studio 2010 解决方案,其中包含构成 Web 应用程序的所有项目,以及构建安装程序的 .vdproj 文件。所有文件都在配置管理之下。

每当我在不更改任何源代码的情况下编译此解决方案时,Visual Studio 都会检查 .vdproj 文件并进行更改。至少,PackageCode 将更改为不同的 GUID。在其他时候,除了更新 PackageCode 之外,它还会更改 .vdproj 文件的“DeployProject”部分中的层次结构顺序。

我们的任何其他 .vdproj 文件都不会发生这种情况。使 .vdproj 与众不同的一件事是,除了包含解决方案中其他项目的主要输出之外,它还包含 50 多个不源自 Visual Studio 项目的其他 .iso、.kml、.jpg 文件。这些是否会导致 PackageCode 以某种方式发生变化?

4

2 回答 2

1

这是安装 VS2010 SP1 并使用安装项目 (.vbproj) 构建解决方案后搜索无限对话框消息时的第一个有用的谷歌点击。这已由 MS 修复。我发布了一个更直接的修补程序下载链接。

已为 SP1 提供了一个修补程序。

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=35848

阅读修补程序链接,因为您仍然需要修改项目属性,因此默认生成操作不会尝试更改每个生成的产品代码(请参阅修补程序添加的项目属性:BackwardCompatibleIDGeneration)。

于 2011-05-31T18:41:16.233 回答
1

每次“发布”一个 msi 时都应更改包代码,请参阅http://msdn.microsoft.com/en-us/library/Aa370568。由于 VS 不知道你是否会分发这个 msi,所以它玩得很安全并修改了包代码。

Visual Studio 应该能够结合源代码控制来处理这个问题,你很幸运它为你做到了(在某种程度上,显然)。Visual Studio 2010 SP1 有问题,请参阅http://connect.microsoft.com/VisualStudio/feedback/details/650587/vs-2010-sp1-changes-packagecode-in-vdproj-on-each-build-but-失败作为源控制

于 2011-03-17T22:54:28.337 回答