Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从MSBuild中的程序集获取AssemblyInformationalVersion的正确方法是什么?_C#_Msbuild - Fatal编程技术网

C# 从MSBuild中的程序集获取AssemblyInformationalVersion的正确方法是什么?

C# 从MSBuild中的程序集获取AssemblyInformationalVersion的正确方法是什么?,c#,msbuild,C#,Msbuild,GetAssemblyIdentity任务似乎只返回AssemblyVersion,而不是AssemblyInformationalVersion 我可以解析AssemblyInfo.cs,正如这里所建议的,但我认为这不是最佳解决方案 如果您想从实际程序集二进制文件中读取AssemblyInformationVersion值,您当前编写的问题表明情况就是这样(提示在GetAssemblyIdentity-任务中) 如果是这样,只需使用并阅读ProductVersion属性即可。要从MSBuild

GetAssemblyIdentity任务似乎只返回AssemblyVersion,而不是AssemblyInformationalVersion


我可以解析AssemblyInfo.cs,正如这里所建议的,但我认为这不是最佳解决方案

如果您想从实际程序集二进制文件中读取
AssemblyInformationVersion
值,您当前编写的问题表明情况就是这样(提示在
GetAssemblyIdentity
-任务中)

如果是这样,只需使用并阅读
ProductVersion
属性即可。要从MSBuild内部调用此函数,您可能需要一个小型自定义任务来完成此任务

在内部,这就是C#编译器的功能


如果您需要分析源代码(例如,
AssemblyInfo.cs
)的值(这是完全不同的事情!),并且您链接到的正则表达式方法对于您的目的来说不够通用,您将不得不求助于使用Roslyn,或者其他一些真正理解C语言并能正确解析源代码的技术。

正确吗?取决于您的用例。您的问题是从assembly读取,您提供的链接是从AssemblyInfo.cs读取。你的意图是什么?我的意图是从大会上宣读。我不认为用RegExp解析某些东西是最佳的解决方案,只是想澄清一下:您想从二进制汇编文件或AssemblyInfo.cs源文件中读取AssemblyInformationalVersion?你的问题表明这两种情况都可能发生。