如何在VS解决方案中共享Helper类并自动为新项目添加NuGet包?
复用Helper类的方案
有两种常用方式可实现Helper类单次创建、全局复用,无需复制文件:
方式1:使用共享项目(Shared Project)
- 在解决方案中新建共享项目(Visual Studio直接选择“共享项目”模板),将Helper类文件迁移至该项目。
- 给每个控制台项目添加共享项目引用:右键控制台项目 → 添加 → 引用 → 在“共享项目”标签下选中目标共享项目。
- 效果:Helper类会被直接包含到每个引用的项目中,代码可直接调用,无需复制文件,也无需单独编译类库输出。
方式2:使用类库项目
- 新建一个与控制台项目同版本的.NET类库项目(如.NET Standard/.NET 8等),将Helper类放入其中。
- 给每个控制台项目添加类库项目引用:右键控制台项目 → 添加 → 项目引用 → 选中类库项目。
- 优势:类库可单独编译,修改Helper类后只需重新编译一次,所有引用项目自动同步更新,维护成本更低。
自动给新项目添加指定NuGet包
可通过MSBuild全局配置文件实现,步骤如下:
- 在解决方案根目录新建
Directory.Build.props文件。 - 打开文件并添加如下内容(替换为你的包名和版本):
<Project> <ItemGroup> <!-- 替换为需要的三个NuGet包及对应版本 --> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> <PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" /> </ItemGroup> </Project>
- 后续在该解决方案目录下新建的所有项目,都会自动引入这些NuGet包。若个别项目无需某个包,可在项目自身的
.csproj文件中添加移除配置:
<ItemGroup> <PackageReference Remove="Newtonsoft.Json" /> </ItemGroup>
内容的提问来源于stack exchange,提问作者Victor Valeanu
相关产品推荐
相关产品推荐

