当前位置: 首页 > news >正文

C#多项目统一版本号

问题

如果C#项目有个项目组合成,每次升级都需要修改csproj里面的版本号,处理起来比较麻烦

案例

common.targets

有如下两个项目,Main引用ClassLibrary1

namespace ClassLibrary1
{public class Class1{public void SayHello(){Console.WriteLine("hello world");}}
}

Program.cs

namespace Main
{internal class Program{static void Main(string[] args){var c1 = new ClassLibrary1.Class1();c1.SayHello();}}
}

新建common.targets

<Project xlmns="http://schemas.microsoft.com/developer/msbuild/2003"><PropertyGroup><TargetFramework>net8.0</TargetFramework><ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable></PropertyGroup>
</Project>

两个解决方案中去掉原来的代码

<PropertyGroup><TargetFramework>net8.0</TargetFramework><ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable>
</PropertyGroup>

修改为如下代码

<Import Project="../common.targets"/>

运行即可
但是这样也有一个不得劲的地方,就是每个分层,都需要写一个导入的语句。

Directory.Build.props

解决方案目录下新建Directory.Build.props

<Project><PropertyGroup><TargetFramework>net8.0</TargetFramework><ImplicitUsings>enable</ImplicitUsings></PropertyGroup>
</Project>

其他的地方删除即可

Directory.Build.props格式为utf-8,带BOM会报错

项目结构

在这里插入图片描述
在这里插入图片描述

参考

https://mp.weixin.qq.com/s/XnDZ-eKM0e6qVbfdwxGgRg
https://learn.microsoft.com/zh-cn/visualstudio/msbuild/customize-by-directory?view=vs-2022


http://www.mrgr.cn/news/11263.html

相关文章:

  • ssrf实现
  • Docker Compose构建及运行多容器利器
  • vue devserver proxy设置跨域详解
  • GPT-SovitsV2,支持多语种,多音字优化,更好的音色,ZeroShot(WIN/MAC)
  • Spring Task定时任务
  • 采用ELK搭建日志平台,Elasticsearch安装
  • 基于R语言遥感随机森林建模与空间预测
  • Vue中使用el-table自定义序号翻页后又从1开始没有连续
  • [Day 61] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 三层链路聚合
  • 【本社翻译】Unity官方XR开发电子书
  • 收银系统源码助力零售门店数字化升级
  • 【Android】Navigation动态设置Graph和Launch参数
  • 广播语义学许多PyTorch操作支持NumPy的广播语义。python编程 人工智能 神经网络
  • 【Tools】Prompt 的概念介绍
  • 探索商品详情API中的重量与体积信息:解锁精准物流管理与用户购物体验的秘密
  • 在VB.net中,LINQ有什么查询表达式,举例说明
  • 深度学习系列71:表格检测和识别
  • 探索Git:分布式版本控制系统的力量(二)
  • java 使用 aws s3 sdk 通过分段下载来实现 html 页面 video 的断点播放、拖动进度播放