Visual studio 还原不同文件夹中的nuget包

Visual studio 还原不同文件夹中的nuget包,visual-studio,nuget,visual-studio-2019,nuget-spec,Visual Studio,Nuget,Visual Studio 2019,Nuget Spec,我们有一些在几个项目中使用的项目(插件),这些项目的输出将复制到目标项目(插件文件夹)中的特定文件夹中。 我们使用VisualStudio2019打包选项打包项目,然后将npkg文件推送到本地NuGet服务器以供进一步使用 问题是,当我们想要获取这些包时,包管理器应该将lib文件放在Plugins文件夹中,但不幸的是,包管理器将这些文件提取到根文件夹(bin)中 我的问题是:如何配置nuspec文件以强制软件包管理器解压缩到正确的文件夹,我可以使用visual studio进行配置,还是必须手动

我们有一些在几个项目中使用的项目(插件),这些项目的输出将复制到目标项目(插件文件夹)中的特定文件夹中。 我们使用VisualStudio2019打包选项打包项目,然后将npkg文件推送到本地NuGet服务器以供进一步使用

问题是,当我们想要获取这些包时,包管理器应该将lib文件放在Plugins文件夹中,但不幸的是,包管理器将这些文件提取到根文件夹(bin)中

我的问题是:如何配置nuspec文件以强制软件包管理器解压缩到正确的文件夹,我可以使用visual studio进行配置,还是必须手动创建nuspec文件。

您应该使用一个文件来实现它

  • 在lib项目的build文件夹下创建一个名为
    .props
    的文件

    您应该注意,如果您的nupkg文件名为
    Plugins.1.0.0.nupkg
    ,那么您应该将该文件命名为
    Plugins.props
    ,这样它才能工作

  • 将这些添加到
    插件.props
    文件中:

    <Project>
    
        <Target Name="CopyFiles" BeforeTargets="Build">
            <ItemGroup>
                <File Include="$(MSBuildThisFileDirectory)..\Plugins\*.*"></File>
            </ItemGroup>
    
             <!--It will copy the plugins output files into the Plugins folder of the goal project-->
            <Copy SourceFiles="@(File)" DestinationFolder="$(ProjectDir)Plugins"></Copy>
    
        </Target>
    
    </Project>
    
    <ItemGroup>
            <None Include="bin\Debug\netstandard2.0\Plugins.dll" Pack="true" PackagePath="Plugins"></None>
    
            //add any output files from Plugins project which you want them to be packed 
    
            <None Include="build\Plugins.props" Pack="true" PackagePath="build"></None>
        </ItemGroup>
    
  • 使用Pack按钮创建nuget Package的新发布版本

  • 另外,安装此新版本的nuget软件包时,请清理nuget缓存或删除
    C:\Users\xxx(当前用户)\.nuget\packages
    下的所有文件

    完成安装过程后,请单击Build按钮,文件将在Plugins文件夹下生成


    还有。

    您的nuget项目的目标是net framework还是net core?