在预构建事件中修改.csproj

时间:2013-07-18 14:37:47

标签: visual-studio-2012 tfs clickonce csproj pre-build-event

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

好的,打击...... :(。

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

中找到该文件

另见: