本文介绍了更改Nuget包的输出目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从我的项目创建了一个NuGet包。包的输出目录是解决方案目录。我想把它输出到一个特定的目录。我在csproj文件和nuspec文件中尝试了一个目标。没有一个管用。如何获取在指定文件夹中生成的包?
在我的.csproj中:
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir).nugetNuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir).nugetNuGet.targets'))" />
</Target>
在我的.nuspec中:
<?xml version="1.0"?>
<package >
<metadata>
<id>MyPackage.dll</id>
<version>1.0.0</version>
<authors>me</authors>
<owners>me</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2016</copyright>
<files>
<file src="binMyPackage.dll" target="C:LocalPackageRepository" />
</files>
</metadata>
</package>
NuGet
在NuGet的"旧"方式中(您似乎正在使用,请查看this有关新旧的信息),这可以通过使用您提到的.nugetNuGet.Target文件中的命令来实现。如果将该行的PackageOutputDir更改为Below,则该行将起作用。
<PackageOutputDir Condition="$(PackageOutputDir) == ''">C:LocalPackageRepository</PackageOutputDir>
更好的做法是在.csproj中设置PropertyGroup的属性,如下所示:
<PackageOutputDir>C:LocalPackageRepository</PackageOutputDir>
在NuGet的新方法中,您将此密钥添加到NuGet.config文件:
<add key="repositoryPath" value="C:LocalPackageRepository" />
这篇关于更改Nuget包的输出目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!