プロジェクト参照として追加された別のプロジェクト(B.csprojec)に依存するプロジェクト(A.csproj)のnuget pkgの作成に取り組んでいます。
これが.nuspecです。
<?xml version="1.0"?>
<package >
<metadata>
<id>A.Client</id>
<title>A.Client</title>
<description>HttpClient and Models for calling the A Microservice.</description>
<version>1.0.2</version>
<authors></authors>
<owners></owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<copyright>.</copyright>
<tags></tags>
<dependencies>
<group targetFramework=".NETFramework4.5">
<dependency id="Newtonsoft.Json" version="9.0.1" exclude="Build,Analyzers" />
// <dependency id="B" version="1.0.0"/> tried this but same error
</group>
<group targetFramework=".NETStandard2.0">
<dependency id="Newtonsoft.Json" version="9.0.1" exclude="Build,Analyzers" />
// <dependency id="B" version="1.0.0"/> tried this but same error
</group>
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Net.Http" targetFramework=".NETFramework4.5" />
</frameworkAssemblies>
</metadata>
<files>
<file src="bin\$configuration$\netstandard2.0\A.dll" target="lib\netstandard2.0" />
<file src="bin\$configuration$\net45\A.dll" target="lib\net45" />
</files>
</package>
使った
nuget pack A.nuspec -Properties configuration=debug
パッケージを生成します。しかし、c.csprojc内でこのパッケージを使用しようとすると、次のエラーが発生します
Severity Code Description Project File Line Suppression State
Error NU1101 Unable to find B. No packages exist with this id in source(s): Local Package source, Microsoft Visual Studio Offline Packages, nuget.org, Package source
私は何を取りこぼしたか ?
私はこれをやっただけでうまくいきました。 Visual Studioで、次の場所に移動します。
パッケージソースがオフラインでした!!
システムにVS2017 Professionalをインストールし、既存のプロジェクトを開いたところ、複数のパッケージが見つからないことがわかりました。パッケージソースを見ずに、できる限りのことを試しました!!
私は以下の解決策を試したのでこの答えを書いていますが、どれもうまくいきませんでした:
ソリューション:
ステップ01。Package Manager Settings(Tools> Nuget Package Manager> Package Manager Settings)に移動します-
ステップ02。パッケージソースを確認します。ご覧のように、パッケージソースはここにすでにダウンロードされたSDK/nugets/packagesです。理由はわかりませんが、Visual Studioのシステムインストールにnuget.orgのオンラインパッケージソースがありませんでした。
ステップ03. nuget.orgをパッケージソースとしてインストールし、[すべてのNugetキャッシュをクリア]してからパッケージを復元します。エラーはなくなります。
名前:nuget.org(または希望どおり)ソース: https://api.nuget.org/v3/index.json
依存ファイルを追加することでこれを解決しました
<files>
<file src="bin\$configuration$\netstandard2.0\a.dll" target="lib\netstandard2.0" />
<file src="bin\$configuration$\net45\a.dll" target="lib\net45" />
<file src="bin\$configuration$\netstandard2.0\b.dll" target="lib\netstandard2.0" />
<file src="bin\$configuration$\net45\b.dll" target="lib\net45" />
</files>
また、ローカルキャッシュをクリーンアップすることを忘れないでくださいnuget locals all –clean
またはバージョンを変更します。