当前位置:  开发笔记 > 编程语言 > 正文

预构建MSBuild任务以更新AssemblyInfo与内置exe不同步

如何解决《预构建MSBuild任务以更新AssemblyInfo与内置exe不同步》经验,为你挑选了2个好方法。

我在Visual Studio 2008中使用调用msbuild的预构建任务:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe $(MSBuildProjectDirectory)\version.targets /p:Configuration=$(ConfigurationName)

在version.targets中,我正在更新AssemblyInfo.cs文件以替换版本信息:

   

当我通过Visual Studio 2008构建项目时,它构建没有任何问题.

但是当我查看生成的exe的版本信息时,它包含上一个时间戳,即使AssemblyInfo.cs已经使用"正确"更改了.

似乎主编译任务没有看到预编译的变化,它总是落后.

我做错了什么想法?



1> laktak..:

我不认为你做错了什么 - 这是一个错误.

我在这里报告了 - 检查你是否可以重现它并添加验证,也许我们可以通过MS修复它.

编辑:我尝试了"Si"的建议来更新"BeforeBuild"事件中的文件 - 但是我仍然得到与Visual Studio 2008/SP1相同的错误结果.

更新/解决方法:MS已回复错误报告.作为一种解决方法,您可以添加

FALSE

到你的csproj文件.



2> Olivier Dage..:

FALSE虽然接受的解决方案和链接文章都没有指定该行应该添加到文件中的第一个 元素.csproj,但该技巧仍为+1 .

它也只是Visual Studio的问题,因为从同一文件的命令行调用msbuild.csproj(没有技巧)将立即看到生成的代码文件(而不是以前的版本).

此外,我想建议将此主题标记为以下内容,因为我必须挖掘很多才能找到它:

    视觉工作室

    编译器

    BeforeBuild

    产生

    .净

    C#

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有