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/