AssemblyInformationalVersion

AssemblyInformationalVersion

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

我可以按照此处Reading AssemblyInformationalVersion value from AssemblyInfo file with RegEx的建议来解析AssemblyInfo.cs,但我认为这不是最佳解决方案。

最佳答案

如果您想从实际的程序集二进制文件中读取AssemblyInformationVersion值,则您当前所写的问题表明确实存在这种情况(提示GetAssemblyIdentity -task)。

如果是这样,只需使用 FileVersionInfo.GetVersionInfo 并读取ProductVersion属性。要从MSBuild内部调用此功能,您可能需要执行一个小的自定义任务。

在内部,这就是C#编译器turns the AssemblyInformationalVersion into

如果您需要解析源代码(例如AssemblyInfo.cs)的值(这是完全不同的事情!),并且链接到的Regex方法不足以实现您的用途,则必须诉诸使用Roslyn或其他实际上了解C#并且可以正确解析源代码的技术。

关于c# - 从MSBuild中的程序集获取AssemblyInformationalVersion的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45212160/

10-13 08:03