4

tl;dr:如何.csproj在发布期间修改文件,ClickOnce同时执行预构建事件?

Long: 我正在使用 Microsoft 托管的 TFS 对我的解决方案进行版本控制。

使用 发布时ClickOnce,我得到最新的修订号 + 1 没有问题。我也可以成功地将新版本号写入.csproj我的构建过程之外的文件中。

问题是,.csproj文件在构建过程中没有得到更新——它可能处于写锁定状态。我在 Notepad++ 中收到有关文件修改的通知,但文件仍然包含旧版本,VS 没有注意到任何更改。

到目前为止,我找到解决此问题的唯一解决方案:将修订更新移动到构建后事件中,并将 2 而不是 1 添加到实际修订号。不幸的是,当其他开发人员签入代码时,这将导致修订号过时。

4

1 回答 1

1

好吧,罢工... :(。

经过更多的差异之后,您需要覆盖 GenerateApplicationManifest 目标以使其正常工作。该目标不使用*DependsUpon属性组,因此更难覆盖。整个流程在Microsoft.Common.Targets文件中定义,您可以在%windir%\Microsoft.NET\Framework{cpu}\{version} folder.

也可以看看:

于 2013-07-18T21:42:29.677 回答