.net-core - 跨项目的 Nuget 包复制
问题描述
Nuget 包副本在 .Net Core 中是否可行?我很担心,因为既没有 project.json 也没有 package.config。这是否意味着手动编辑 .csproj 是前进的唯一途径。
恕我直言,必须有更有效的方法。我是不是错过了什么。
解决方案
我使用共享Directory.Build.props
文件为 .NET Core 2.0 跨多个项目构建相同的包。因此,如果您将此文件放在所有项目的共享文件夹中,并在创建新项目后简单地导入它,它确实可以节省大量时间。
首先创建一个共享Directory.Build.props
文件。下面我为我的所有项目添加 NLog 包。文件示例内容:
<Project>
<ItemGroup>
<PackageReference Include="NLog" Version="4.5.6" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.5.4" />
</ItemGroup>
</Project>
现在通过右键单击项目 1 > 添加 > 现有项目 > Directory.Build.props 将此文件导入项目的根目录。对您的其他项目重复相同的操作;项目 2、项目 3 等。请注意,当您将每个文件添加到项目中时;Directory.Build.props 文件中的 NLog 包会自动添加为 Nuget 包。
只需为您的包编辑 XML 和更多包引用<ItemGroup></ItemGroup>
。我希望这对您来说是更有效的解决方案。这无疑为我节省了很多新的 .NET Core 项目的时间。您可以在此处阅读有关自定义构建的更多信息。
推荐阅读
- flutter - 在不在中心的文本表单字段上显示对话框
- django - 在 django OrderingFilter 中添加过滤器
- git - 升级 Fedora 33 后 ssh 权限被拒绝(公钥)
- php - 为什么 php 中的 echo 总是导致“此文件中有 1 个问题”
- node.js - 阻止 VS Code 跟踪对 node_modules 的更改
- java - 在 CertificateVerify 步骤之后,两种方式 SSL 握手失败 (javax.net.ssl.SSLHandshakeException),同时更改为新建立的密码套件
- discord.py - 搜索命令未按预期工作 | 不和谐.py
- javascript - babel-node:语法错误:使用 node.js 导入意外的令牌
- angular - 如何使 optgroup 可选?
- r - 在ggplot中自定义分类轴标签(允许重复标签)