私が持っている.NET Standard
NuGetパッケージに内蔵されたクラスライブラリプロジェクトを。docfx.console
ビルドするたびにドキュメントのWebサイトを生成できるように、パッケージをインストールしました。
これで、別のプロジェクトがライブラリのNuGetパッケージをインストールすると、docfx.console
NuGetパッケージもインストールされます。これは望ましくありません。
[パッケージ]の下のプロジェクトプロパティで、[ビルド時にNuGetパッケージを生成する]を選択しました。これにより、ライブラリをビルドするときに、ライブラリのNuGetパッケージが自動的に生成されます。しかし、このタブでは、パッケージを除外するように構成できる場所がどこにも表示されません。
そのため、docfx.console
パッケージを除外するために、次の内容の.nuspecファイルを作成しました。
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Required elements-->
<id>My.Library</id>
<version>1.0.1</version>
<description>My Library's project dscription.</description>
<authors>Me</authors>
<copyright>My Copyright (c)</copyright>
<!-- Optional elements -->
<dependencies>
<dependency id="docfx.console" version="2.36.1" exclude="build" />
</dependencies>
<!-- ... -->
</metadata>
<!-- Optional 'files' node -->
</package>
しかし、それは機能していません。docfx.console
NuGetパッケージをビルドするときにパッケージを除外するように修正するにはどうすればよいですか?
または、docfx.console
NuGetパッケージからパッケージを除外する他の方法はありますか?
クラスライブラリNuGetパッケージからパッケージを除外するにはどうすればよいですか?
NuGetの公式ドキュメントによると依存関係アセットの制御:
依存関係を純粋に開発ハーネスとして使用していて、パッケージを消費するプロジェクトに依存関係を公開したくない場合があります。このシナリオでは、PrivateAssetsメタデータを使用してこの動作を制御できます。
<ItemGroup> <!-- ... --> <PackageReference Include="Contoso.Utility.UsefulStuff" Version="3.6.0"> <PrivateAssets>all</PrivateAssets> </PackageReference> <!-- ... --> </ItemGroup>
だから、ユーザー名がコメントと同じように、あなたは追加することができます<PrivateAssets>all</PrivateAssets>
へPackageReference
のdocfx.console
プロジェクトに。
これを行うには.csproj
、次のようにプロジェクトファイルを編集します。
<ItemGroup>
<PackageReference Include="docfx.console" Version="2.36.2" PrivateAssets="All" />
</ItemGroup>
または
<ItemGroup>
<PackageReference Include="docfx.console" Version="2.36.2">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
.nuspec
ファイルを使用している場合は、ファイル内の次の依存関係情報を移動する必要があり.nuspec
ます。
<dependencies>
<dependency id="docfx.console" version="2.36.1" />
</dependencies>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加