我正在使用VS2017和_CreateNewNuGetPackage从Web项目(.Net)创建NuGet程序包。所有文件都放在/ content文件夹中。在项目中安装NuGet软件包时的问题是所有文件都将安装在根文件夹中。
我真正想要的是拥有一个Nuget包,其中所有构建文件都位于content / extraFolder /中。
我尝试使用.nuspec文件中的标记选项,但是.nuspec添加了项目中的文件,而不是构建文件。
之后,我尝试将构建路径设置为bin \ extraFolder并使用选项“ Nuget pack xxx -BasePath .. \ xxx”,但是nuget似乎使用vbproj文件,而忽略了basepath选项。
我知道可以nuget install -outputdir extraFolder /,但是我想让nuget软件包的用户容易使用。
我想要的nuget包是这样的:
content/ extraFolder/ all build folders and files lib/ dll file
当前唯一缺少的是 extraFolder 。有人知道我该怎么做吗?
答案 0 :(得分:0)
我真正想要的是拥有一个Nuget包,其中所有构建文件都位于content / extraFolder /中。
如果我对您的理解正确,则可以尝试将<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:attribute name="id" type="xs:ID"/>
文件中的target="content"
更改为.nuspec
。因此,您的target="content\content\extraFolder"
如下:
.nuspec
然后,当您打包此<?xml version="1.0"?>
<package >
<metadata>
<id>MyTestPackager</id>
<version>1.0.0</version>
<authors>Tester</authors>
<owners>Tester</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2018</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
<files>
<file src="Test.xml" target="content\content\extraFolder\Test.xml" />
</files>
</package>
文件时,您将获得以下软件包:
将此软件包添加到项目中,所有构建文件都位于content / extraFolder /中:
如果我对您的问题的理解不正确,请添加到屏幕快照中,以了解您的当前状态以及您直接想要的内容。
更新:
我一无所知的部分是MSBuild放置的部分 “ bin”文件夹中的已构建文件
如果要将这些文件放在.nuspec
文件夹中,则需要在\bin
文件夹中添加.target
文件以将这些文件复制到bin文件夹:
\build
文件的内容:
.targets
在nuspec文件中,将.targets文件添加到构建文件夹:
检查similar thread以获得更多详细信息。