更改Nuget包的输出目录

change output directory of nuget package(更改Nuget包的输出目录)

本文介绍了更改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包的输出目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:更改Nuget包的输出目录

基础教程推荐