我想在我的 MSBuild 脚本中创建一个目标:
- 从源文件夹获取 SVN 版本/日期时间('svn info' 命令)
- 从“build”目标生成的 .EXE 和 .DLL 更新 VERSIONINFO 资源
有什么东西可以完成吗?我在重新发明另一个轮子之前问...
我想在我的 MSBuild 脚本中创建一个目标:
有什么东西可以完成吗?我在重新发明另一个轮子之前问...
MSBuild 社区任务项目是您的朋友。检查他们的“SvnInfo”任务。
此外,Daniel Doubrovkine 的ResourceLib是一部出色的作品,在尝试解开 VERSIONINFO 创建混乱时可以避免很多头痛(去过那里,做过......)
通过编写包含在项目中的 AssemblyInfo 文件(或任何具有程序集属性的文件),在编译之前更容易做到这一点。
在此处找到的在 powershell 中编写此示例的示例:https ://github.com/craigbeck/rhino-esb/blob/master/psake_ext.ps1#L7-46
一个警告——.net 中的版本不仅仅是任何字符串,而是ushort
s,这意味着它们的最大值为 65535(请参阅此处的文档)。如果您使用 svn 修订版(就像我们曾经做过的那样),一旦超过该幻数,您的构建就会中断。
为什么要在编译后尝试这样做?