我想在我的 MSBuild 脚本中创建一个目标:

  • 从源文件夹中获取 SVN 修订版/日期时间(“svn info”命令)
  • 从“build”目标生成的 .EXE 和 .DLL 更新 VERSIONINFO 资源

有什么东西可以完成这个任务吗?我在重新发明另一个轮子之前问...

我正在研究 http://msbuildextensionpack.codeplex.com

有帮助吗?

解决方案

MSBuild 社区任务项目 是你的朋友。检查他们的“SvnInfo”任务。

此外,丹尼尔·杜布罗夫金 (Daniel Doubrovkine) 资源库 是一项出色的工作,可以避免您在尝试解决 VERSIONINFO 创建混乱时遇到的很多麻烦(去过那里,做过那件事......)

其他提示

通过编写项目中包含的 AssemblyInfo 文件(或任何具有程序集属性的文件),在编译之前可以更轻松地完成此操作。

在 powershell 中编写此示例可在此处找到: https://github.com/craigbeck/rhino-esb/blob/master/psake_ext.ps1#L7-46

需要注意的是 .net 中的版本不仅仅是任何字符串,而是 ushorts 这意味着它们的最大值为 65535 (请参阅文档 这里)。如果您使用 svn 修订版(正如我们在某一时刻所做的那样),一旦超过该幻数,您的构建就会中断。

为什么编译后要尝试这样做?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top