首页 > 解决方案 > 如何在运行时读取 csproj xml 元素?

问题描述

我正在尝试从 csproj 文件(我的项目文件)中读取特定的 XML 元素,特别是<ApplicationVersion>元素(我在 ClickOnce 下部署-(这不是程序集版本)

是否有运行时选项来读取此字段?或者唯一的选择是简单地将 csproj 文件解析为 xml 文件?

标签: c#visual-studio-2017

解决方案


我最终做了以下事情:

我使用 Ian Kemp 的建议(评论)来安装Microsoft.Build,Microsoft.Build.Utilities.CoreMicrosoft.Build.Frameworknuget 包。

然后使用下面的代码将csproj文件加载到内存中,得到一个具体的属性值作为字符串

Project project = new Project(Path.Combine(Directory.GetParent(Environment.CurrentDirectory).Parent.FullName, "<my_project>.csproj"));
                version = 
Version application_version = Version.Parse(project.GetPropertyValue("ApplicationVersion"));

推荐阅读