c# - 如何在运行时读取 csproj xml 元素?
问题描述
我正在尝试从 csproj 文件(我的项目文件)中读取特定的 XML 元素,特别是<ApplicationVersion>
元素(我在 ClickOnce 下部署-(这不是程序集版本)
是否有运行时选项来读取此字段?或者唯一的选择是简单地将 csproj 文件解析为 xml 文件?
解决方案
我最终做了以下事情:
我使用 Ian Kemp 的建议(评论)来安装Microsoft.Build
,Microsoft.Build.Utilities.Core
和Microsoft.Build.Framework
nuget 包。
然后使用下面的代码将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"));
推荐阅读
- reactjs - 无法使用 nginx 在 ReactJS 应用程序中使用 CORS
- reactivesearch - 有没有办法有条件地渲染 ReactiveList
- bash - Bash 脚本中的位置参数会破坏其他命令
- python - 使用来自不同行的值在 DataFrame 中创建新列
- oracle - 当我尝试遍历从过程接收到的游标时,游标中出现错误
- r - 在r中的单词和分号之间拆分字符串
- atom-editor - 如何使原子自动关闭 jinja2 标签?
- angular - 如何在滑块末尾创建一个按钮,该按钮可以更改并显示 Ionic 4 中的下一张幻灯片?
- windows - 如何在 Windows 批处理 for 循环中运行可执行文件时打印输出?
- c# - 使用来自 SQLDataReader 的数据创建嵌套 JSON