C# 从MSBuild中的程序集获取AssemblyInformationalVersion的正确方法是什么?
GetAssemblyIdentity任务似乎只返回AssemblyVersion,而不是AssemblyInformationalVersionC# 从MSBuild中的程序集获取AssemblyInformationalVersion的正确方法是什么?,c#,msbuild,C#,Msbuild,GetAssemblyIdentity任务似乎只返回AssemblyVersion,而不是AssemblyInformationalVersion 我可以解析AssemblyInfo.cs,正如这里所建议的,但我认为这不是最佳解决方案 如果您想从实际程序集二进制文件中读取AssemblyInformationVersion值,您当前编写的问题表明情况就是这样(提示在GetAssemblyIdentity-任务中) 如果是这样,只需使用并阅读ProductVersion属性即可。要从MSBuild
我可以解析AssemblyInfo.cs,正如这里所建议的,但我认为这不是最佳解决方案 如果您想从实际程序集二进制文件中读取
AssemblyInformationVersion
值,您当前编写的问题表明情况就是这样(提示在GetAssemblyIdentity
-任务中)
如果是这样,只需使用并阅读ProductVersion
属性即可。要从MSBuild内部调用此函数,您可能需要一个小型自定义任务来完成此任务
在内部,这就是C#编译器的功能
如果您需要分析源代码(例如,
AssemblyInfo.cs
)的值(这是完全不同的事情!),并且您链接到的正则表达式方法对于您的目的来说不够通用,您将不得不求助于使用Roslyn,或者其他一些真正理解C语言并能正确解析源代码的技术。正确吗?取决于您的用例。您的问题是从assembly读取,您提供的链接是从AssemblyInfo.cs读取。你的意图是什么?我的意图是从大会上宣读。我不认为用RegExp解析某些东西是最佳的解决方案,只是想澄清一下:您想从二进制汇编文件或AssemblyInfo.cs源文件中读取AssemblyInformationalVersion?你的问题表明这两种情况都可能发生。