2017-08-14 11 views
0

VS 2017(.NET Standardクラスライブラリの場合)でNugetパッケージを作成する組み込み機能を使用しようとすると、すべての依存関係(プロジェクト参照)、それは現在のプロジェクトの唯一のDLLが含まれています...ここでパッケージ.NET標準ライブラリ(Nugetパッケージ)すべてのプロジェクト依存関係/参照

は私のプロジェクトファイルです:

<Project Sdk="Microsoft.NET.Sdk"> 
. 
. 
    <PropertyGroup> 
    <TargetFrameworks>netstandard1.6;net47</TargetFrameworks> 
    <PreserveCompilationContext>true</PreserveCompilationContext> 
    <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance> 
    <GeneratePackageOnBuild>True</GeneratePackageOnBuild> 
    <IncludeBuildOutput>True</IncludeBuildOutput> 
    <IncludeContentInPack>True</IncludeContentInPack> 
    <DevelopmentDependency>False</DevelopmentDependency> 
    </PropertyGroup> 
. 
. 
</Project> 

私はのために別の値を試みた:DevelopmentDependency、IncludeContentInPack、IncludeBuildOutput、およびそれを同じです。

私はVS 2017プレビューリリースでも試しました。

答えて

1

NuGet packコマンドでIncludeReferencedProjectsスイッチを使用する必要があります。以下のようなもの

だから、ん:NuGetは一定自動的にパッケージに関する情報(アセンブリ情報だけでなく、出力DLLパス)、何かを拾うが

nuget pack csprojname.csproj -IncludeReferencedProjects 

は完全NuGet CLI here

を探しますパッケージを処理するには、フラグを使用するか、カスタム.NuSpecファイルを作成する必要があります。

希望すると便利です。

+0

感謝を参照することができ、私はこれに出くわしたが、(csprojに余分なコマンドラインパラメータを渡す方法があるようには思えません実際には、パッケージ化は直接(ドットネットcli)で行われ、(nuget cliではなく)直接実行されます。 –

+0

NuSpecファイルを使用してこれを行う方法を探そうとしましたが、正確なオプションを取得できませんでした。 csprojからカスタムNuSpecファイルを渡してください。 –

+0

パッケージマネージャコンソールでパッケージングしていますか? – BikerDude

2

私はビルトイン(.NET標準クラスライブラリの)VS 2017年にNugetパッケージを作成する機能を使用しようとすると、それはすべての依存関係が含まれていません...

Iあなたは、Visual Studio 2017によって直接参照されるプロジェクトを含めるために、パッケージをnugetパッケージに入れたいと意識しています。しかし、VS 2017は、VS 2017でパッケージをパックすると依存関係としてプロジェクト参照を取得することがわかりました。パッケージをパックするための値が見つかりませんでした。 nugetパッケージを作成するnuget pack .nuspec

<?xml version="1.0"?> 
    <package > 
    <metadata> 
     <id>MyTestNuGetPackage</id> 
     <version>1.0.0</version> 
     <authors>Test</authors> 
     <owners>Test</owners> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>Package description</description> 
     <releaseNotes>Summary of changes made in this release of the package. 
     </releaseNotes> 
     <copyright>Copyright 2017</copyright> 
     <tags>Tag1 Tag2</tags> 
    </metadata> 

    <files> 
     <file src="bin\Debug\netstandard1.6\MyTestNuGetPackage.dll" target="lib\netstandard1.6" /> 
     <file src="bin\Debug\netstandard1.6\ReferencedProject.dll" target="lib\netstandard1.6" /> 
     <file src="bin\Debug\net47\MyTestNuGetPackage.dll" target="lib\net47" /> 
     <file src="bin\Debug\net47\ReferencedProject.dll" target="lib\net47" /> 
    </files> 
    </package> 

はその後のコマンドを使用します。

は回避策として、あなたは以下の私の.nupsecファイルであり、参照先のプロジェクトが含まれるようにnugetと.nuspecファイルを使用することができます。詳細情報については

enter image description here

、あなたがCreate .NET standard packages.

関連する問題