我有一个需要在正常构建环境之外构建的DLL,但文件版本需要与那些内部版本匹配。这需要什么标签?我已尝试<version>
,<fileversion>
和<productversion>
无效。
答案 0 :(得分:0)
我不知道你为什么需要这样做,但如果你能够提供一些脚本作为构建的一部分,这可能是可能的(如果你可以将版本加载到一个可用于.DLL构建的环境变量,与正常构建环境分开。)
创建AssemblyInfo.cs的保存副本,根本不包含版本信息,将其称为AssemblyInfo.noversion。
然后,在构建DLL之前但在设置环境变量之后,使用命令脚本或Powershell脚本甚至简单的C#命令行实用程序将AssemblyInfo.noversion复制到现有的AssemblyInfo.cs上,然后追加格式正确的版本信息标签:
[assembly: AssemblyVersion("<version-goes-here>")]
[assembly: AssemblyFileVersion("<version-goes-here>")]
完成后,继续.DLL构建。这可以作为构建本身的一部分(例如,在Visual Studio中使用预构建事件)或作为手动先决条件步骤完成,具体取决于您构建DLL的方式。
这无疑是一种粗暴的方式来实现你似乎要求的东西;但是,如果您无法使用任何可以为您处理版本控制的构建管理软件,那么您应该可以按照自己的要求进行操作。