Visual studio 如何获取由预生成事件修改的最新版本AssemblyInfo.cs?

Visual studio 如何获取由预生成事件修改的最新版本AssemblyInfo.cs?,visual-studio,prebuild,pre-build-event,Visual Studio,Prebuild,Pre Build Event,我目前正在VS2010中处理编译前和编译后事件,试图将我的SVN版本号输入AssemblyInfo.cs文件,并因此编译到我的编译dll中 在预构建中,我运行一个更新AssemblyInfo.cs文件的脚本,在构建后的步骤中,我运行一个脚本将其重置为零 我想这样做是因为如果我离开最新版本,那么SVN会将此视为一个更改,它将被提交,更新SVN版本号,从而导致另一个更改;这有点递归 我遇到的问题是,构建拾取的是文件的原始版本,而不是由预构建步骤更新的版本 因此: 如果(作为测试)我手动将文件中的版本

我目前正在VS2010中处理编译前和编译后事件,试图将我的SVN版本号输入AssemblyInfo.cs文件,并因此编译到我的编译dll中

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

我想这样做是因为如果我离开最新版本,那么SVN会将此视为一个更改,它将被提交,更新SVN版本号,从而导致另一个更改;这有点递归

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

因此:

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

[assembly:AssemblyVersion("1.0.0.123")]
然后预构建将其更新为:

[assembly: AssemblyVersion("1.0.0.456")]
[assembly: AssemblyVersion("1.0.0.0")]
然后,生成后将其更新为:

[assembly: AssemblyVersion("1.0.0.456")]
[assembly: AssemblyVersion("1.0.0.0")]
当我查看构建的dll时,版本是1.0.0.123

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

只需将notepad.exe放入pre-build命令中,然后在notepad运行时即可看到此行为;手动更改AssemblyInfo.cs文件。如果关闭记事本,构建将不会启动,但一旦关闭记事本,它将使用文件的原始版本进行构建

我是不是在预构建的工作方式上遗漏了什么?是否有任何方法可以强制构建拾取并使用更新的文件


任何提示都值得欣赏:)

结果表明,将计算机关闭几天,然后重新使用它可以修复此问题……
我想重新启动计算机可能足以使它松动。回到:你有没有试过一次又一次地关掉它。叹息