首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取pre-build事件修改的最新版本AssemblyInfo.cs?

如何获取pre-build事件修改的最新版本AssemblyInfo.cs?
EN

Stack Overflow用户
提问于 2011-06-30 22:13:22
回答 1查看 650关注 0票数 0

我目前正在处理VS2010中的构建前和构建后事件,试图将我的SVN版本号放入AssemblyInfo.cs文件中,从而编译到我的构建dll中。

在预构建中,我运行一个脚本来更新AssemblyInfo.cs文件,在构建后步骤中,我运行一个脚本将其重置为零。

我之所以这样做,是因为如果我离开最新版本,那么SVN会将其视为将提交的更改,这会更新SVN的版本号,从而导致另一个更改;这会变得有点递归。

我遇到的问题是,构建会提取文件的原始版本,而不是由预构建步骤更新的文件。

因此:

如果(作为测试)我手动将文件中的版本号设置为:

代码语言:javascript
运行
复制
[assembly:AssemblyVersion("1.0.0.123")]

然后预构造会将其更新为:

代码语言:javascript
运行
复制
[assembly: AssemblyVersion("1.0.0.456")]

然后,post构建将其更新为:

代码语言:javascript
运行
复制
[assembly: AssemblyVersion("1.0.0.0")]

当我查看构建的dll时,它的版本是1.0.0.123

在构建开始之前,我已经检查了预构建步骤是否完成--但即使我强制执行了长时间的等待(通过调用notepad.exe或其他方法),VS2010仍然无法获取更新后的文件。

您可以通过将notepad.exe放入预构建命令中来查看此行为-然后在记事本运行时;转到并手动更改AssemblyInfo.cs文件。除非你关闭记事本,否则构建不会开始--但是一旦你关闭记事本,它就会用原始版本的文件构建。

我是不是在预构建中遗漏了什么?有没有办法强制构建获取并使用更新后的文件?

任何有用的线索:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-05 22:50:14

事实证明,让电脑关机几天,再回来就可以解决这个问题……

我猜一次电脑重启可能就足以让它松开。回到:你有没有试过一次又一次地关闭它?叹息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6536144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档