我有 .NET452 项目 - 让我们称它为Consumer.csproj我想要使用的 nuget,让我们称它SharedTargets包含来自 msbuild 的一些自定义目标文件 ( SharedTargets.targets)。
我正在使用PackageReference格式,现在(与以前相比)nuget 包正在恢复到共享文件夹(%userprofile%.nuget\packages),并且我不确定通过该引用引用它是否是个好主意(感觉不对)。
例如:
<PackageReference Include="SharedTargets">
<Version>1.0</Version>
</PackageReference>
<Import
Project="$(USERPROFILE)\.nuget\packages\SharedTargets\1.0\SharedTargets.targets"
/>
Run Code Online (Sandbox Code Playgroud)
另外,这仅适用于 VS,从命令行(msbuild)运行它,我遇到了先有鸡还是先有蛋的问题:
确认声明中的路径
<Import>正确,并且该文件存在于磁盘上。
显然,因为我需要先恢复 nuget,然后才能使用它:)
所以问题:
SharedTargets.target导入之前恢复包)您不应尝试手动导入通过 NuGet 分发的目标。
将 .targets 文件放入build包内的子文件夹中并命名SharedTargets.targets(包 id + .targets),NuGet 将自动包含目标 - 对于packages.config 项目,它将在安装时修改项目文件,对于 PackageReference 项目,目标将通过以下方式导入修改目录中隐式生成的目标文件obj\。
| 归档时间: |
|
| 查看次数: |
2358 次 |
| 最近记录: |