You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS 2019新格式项目之间共享Assembly Info信息?

在VS新SDK风格项目中共享Assembly设置(版本、版权等)

刚好对这个问题很熟悉!在VS的新SDK风格项目里,确实不用再像旧格式那样手动链接AssemblyInfo文件了——毕竟现在这些属性都直接写在csproj这个简洁的XML文件里。这里有几种更高效的方式来共享这些配置:

1. 用Directory.Build.props自动全局共享(最推荐)

这是MSBuild原生支持的“魔法文件”,只要把它放在解决方案根目录,目录下所有的项目都会自动继承里面的配置,完全不用手动操作:

  • 第一步:在解决方案根文件夹里新建一个名为Directory.Build.props的文件(文件名必须完全一致,MSBuild会自动识别)
  • 第二步:把你要共享的Assembly属性写进去,比如:
<Project>
  <PropertyGroup>
    <!-- 版本相关属性 -->
    <Version>1.2.3.0</Version>
    <AssemblyVersion>1.2.0.0</AssemblyVersion>
    <FileVersion>1.2.3.0</FileVersion>
    <!-- 版权、公司信息 -->
    <Copyright>© 2024 我的公司</Copyright>
    <Company>我的公司</Company>
  </PropertyGroup>
</Project>
  • 第三步:如果某个项目需要自定义特定属性(比如单独的版本号),直接在它自己的csproj里添加对应的属性就行——项目里的设置会覆盖Directory.Build.props里的共享值,优先级更高。

这种方法的优势太明显了:新增项目自动继承配置,不用手动维护任何链接,完全自动化。

2. 自定义.props文件按需导入(灵活分组)

如果不想让所有项目都用同一份共享配置,或者需要给不同项目组设置不同的共享规则,可以自定义一个props文件,然后手动导入到需要的项目里:

  • 第一步:创建一个自定义的props文件,比如SharedAssemblySettings.props,内容和上面的Directory.Build.props类似,只放你需要共享的属性
  • 第二步:在目标项目的csproj文件里添加导入语句(路径根据你的文件位置调整):
<Import Project="..\SharedAssemblySettings.props" />

这种方法适合项目有分组需求的场景,比如解决方案里的工具类项目用一套共享配置,业务项目用另一套。

3. 模拟旧格式的文件链接(不推荐,但兼容习惯)

如果你还是习惯旧格式的“共享文件链接”方式,也可以这么做,但需要额外禁用项目的自动AssemblyInfo生成:

  • 第一步:创建一个SharedAssemblyInfo.cs文件,写入共享的Assembly特性:
using System.Reflection;

[assembly: AssemblyVersion("1.2.0.0")]
[assembly: AssemblyCopyright("© 2024 我的公司")]
  • 第二步:在每个需要共享的项目的csproj里添加文件链接:
<ItemGroup>
  <Compile Include="..\SharedAssemblyInfo.cs" Link="Properties\SharedAssemblyInfo.cs" />
</ItemGroup>
  • 第三步:必须禁用自动生成AssemblyInfo,否则会和你手动写的文件冲突,在项目的csproj里添加:
<PropertyGroup>
  <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>

这种方法比较繁琐,需要手动维护每个项目的链接,不如前两种高效,只适合特别习惯旧操作方式的场景。

总的来说,优先用第一种Directory.Build.props的方式,省心又高效,完全适配新项目格式的设计思路。

内容的提问来源于stack exchange,提问作者Mark A. Donohoe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:11:44