2017-09-26 190 views
0

我想我的打包項目文件,並使用像這樣創建的NuGet包: 的NuGet包file.csproj -p配置= $(ConfigurationName); -NoPackageAnalysis存放文件和NuGet包的文件夾的根文件夾

但問題是它的將文件/文件夾相關的「內容」文件夾和組件項目在「LIB」文件夾,但我想要的文件/文件夾的根目錄,圖書館,文件夾類似這個 。 enter image description here 但現在我的文件夾結構是這樣的: enter image description here

我nuspec文件的結構是

<?xml version="1.0"?> 
<package > 
    <metadata> 
     <id>$id$</id> 
     <version>$version$</version> 
     <title>$title$</title> 
     <authors>abc</authors> 
     <owners>abc</owners> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>abc</description> 
     <releaseNotes></releaseNotes> 
     <copyright>Copyright 9999</copyright> 
     <tags></tags> 
    </metadata> 
    <files> 
     <file src="bin\**" target="bin" /> 
     <file src="$target$\**\*.*" target=""/> 
    </files> 
</package> 

即使不包括在第二圖像顯示相同的輸出結構我nuspec文件結果。我正在使用nuget版本4.1.0,我也嘗試使用早期版本的nuget,如2.8.6

回答

-1

你應該創建一個自定義.nuspec文件

<?xml version="1.0"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 
    <metadata> 
     <id>title</id> 
     <version>1.0.0</version> 
     <authors>abc</authors> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>desc</description> 
    </metadata> 
    <files> 
     <file src="bin\Debug\bin\*.*" target="bin" /> 
     <file src="bin\Debug\fonts\*.*" target="fonts" /> 
     ............ 
    </files> 
</package> 
0

我這個努力爲好,但要了解<files />收集/package<contentFiles />收集/package/metadata之間的區別是很重要的。

<files />集合告訴的打包哪些文件就擺在你的包,在包的libcontenttools目錄。

注意:你不需要使用這個集合,你也可以使用a convention-based working directory

<contentFiles />集合告訴包的消費者如何使用包中包含的文件。

在你的情況.nuspec文件應該是這個樣子(真的不知道有關$target$部分,但:

<?xml version="1.0"?> 
<package > 
    <metadata> 
     <id>$id$</id> 
     <version>$version$</version> 
     <title>$title$</title> 
     <authors>abc</authors> 
     <owners>abc</owners> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>abc</description> 
     <releaseNotes></releaseNotes> 
     <copyright>Copyright 9999</copyright> 
     <tags></tags> 
     <contentFiles> 
      <files include="bin/**" buildAction="None" copyToOutput="true" /> 
     </contentFiles> 
    </metadata> 
    <files> 
     <file src="bin\**" target="content\bin" /> 
     <file src="$target$\**\*.*" target="content"/> 
    </files> 
</package> 
+0

這個回答似乎很有希望,但似乎'contentFiles'實際上是不同的概念:它只適用於不可變(不可編輯)的內容文件。請參閱這裏的emgarten的評論: https://github.com/NuGet/Home/issues/2060 因此,我試過你的答案,但可惜它沒有工作 –