如何在MSBuild中正确获取程序集的AssemblyInformationalVersion?

6

正确吗? 这取决于您的用例。 您的问题说要从汇编中读取,您提供的链接从AssemblyInfo.cs中读取。您的意图是什么? - Frode Nilsen
我的意图是从汇编中读取。我认为使用RegExp解析某些内容并不是最优解决方案。 - Leotsarev
只是为了明确:您想从二进制程序集文件或AssemblyInfo.cs源文件中读取AssemblyInformationalVersion吗?您的问题表明两者都可能是这种情况。 - Christian.K
1个回答

1
如果您想从实际程序集二进制文件中读取AssemblyInformationVersion值,您当前的问题表明了这一点(暗示使用GetAssemblyIdentity任务)。
如果是这样,请使用{{link1:FileVersionInfo.GetVersionInfo}}并读取ProductVersion属性。要从MSBuild内部调用此操作,您可能需要一个小的自定义任务来完成。
在内部,这就是C#编译器AssemblyInformationalVersion转换为的内容。
如果您需要解析源代码(例如AssemblyInfo.cs)以获取其值(这是完全不同的事情!),并且您链接到的正则表达式方法对于您的目的不够灵活,则必须使用Roslyn或其他能够理解C#并正确解析源代码的技术。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接