複数のnugetパッケージを作成しました。1つを除いて、すべて正常に機能します。そのnugetパッケージを追加するpackages.config
と、で参照され、dllがダウンロードされていることがわかりpackages\InhouseWKOIT.Framework.Resources.4.5.999.999\lib\InhouseWKOIT.Framework.Resources.dll
ますが、ターゲットプロジェクトの参照には追加されていません。
これまでのところ、dllは.NET Frameworkバージョン(lib \ net45など)を対象としていません。これは問題ないはずです(少なくとも、私が作成した他のすべての作業用nugetパッケージ用です)。
StackoverflowとGoogleをチェックしましたが、問題を説明するものが見つかりませんでした。ほとんどの解決策は、NuGetキャッシュをクリアするか、パッケージを更新/再インストールするだけでしたが、役に立ちませんでした。また、別のコンピューターで試してみましたが、動作はどこでも同じです。すべてのパッケージは正常に機能していますが、そうではありません。
NuGetパッケージエクスプローラーを使用したパッケージの外観は次のとおりです。
DLLの内容はかなり単純で、2つの非常に単純なクラスのみです。
また、プロジェクトの.net Frameworkバージョンを別の.netバージョン(4.5.2以外)に変更しました。
packages\InhouseWKOIT.Framework.Resources.4.5.999.999\lib\InhouseWKOIT.Framework.Resources.dll
問題なくdllを選択し、このアセンブリのクラスを使用するときに、ターゲットプロジェクトに手動で参照を追加できます。
(ところで、バージョン番号999.999については不思議ではありません。つまり、ローカルでビルドしてnugetパッケージの問題をデバッグする場合です)
これは、パッケージを追加したときのパッケージマネージャーの出力です。
Attempting to gather dependency information for package 'InhouseWKOIT.Framework.Resources.4.5.999.999' with respect to project 'ConsoleApp8', targeting '.NETFramework,Version=v4.5.2'
Gathering dependency information took 65,78 ms
Attempting to resolve dependencies for package 'InhouseWKOIT.Framework.Resources.4.5.999.999' with DependencyBehavior 'Lowest'
Resolving dependency information took 0 ms
Resolving actions to install package 'InhouseWKOIT.Framework.Resources.4.5.999.999'
Resolved actions to install package 'InhouseWKOIT.Framework.Resources.4.5.999.999'
Retrieving package 'InhouseWKOIT.Framework.Resources 4.5.999.999' from 'LocalPackage'.
Adding package 'InhouseWKOIT.Framework.Resources.4.5.999.999' to folder 'C:\Users\AmonD\Source\Repos\ConsoleApp8\packages'
Added package 'InhouseWKOIT.Framework.Resources.4.5.999.999' to folder 'C:\Users\AmonD\Source\Repos\ConsoleApp8\packages'
Added package 'InhouseWKOIT.Framework.Resources.4.5.999.999' to 'packages.config'
Successfully installed 'InhouseWKOIT.Framework.Resources 4.5.999.999' to ConsoleApp8
Executing nuget actions took 375,64 ms
Time Elapsed: 00:00:00.5244957
========== Finished ==========
このpackages.config
ように見えます:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="InhouseWKOIT.Framework.Resources" version="4.5.999.999" targetFramework="net452" />
</packages>
Package.nuspec
ファイル:
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<!-- The identifier that must be unique within the hosting gallery -->
<id>InhouseWKOIT.Framework.Resources</id>
<!-- The package version number that is used when resolving dependencies -->
<version>$fullversion$</version>
<!-- Authors contain text that appears directly on the gallery -->
<authors>Dominik Amon</authors>
<!-- Owners are typically nuget.org identities that allow gallery
users to easily find other packages by the same owners. -->
<owners>amond</owners>
<!-- License and project URLs provide links for the gallery -->
<licenseUrl>https://wikis.oe.wknet/applikationsentwicklung/inhouse-framework</licenseUrl>
<projectUrl>https://wikis.oe.wknet/applikationsentwicklung/inhouse-framework</projectUrl>
<!-- The icon is used in Visual Studio's package manager UI -->
<iconUrl>https://tae.dev.oe.wknet/InhouseVisualStudioGallery/Nuget.png</iconUrl>
<!-- If true, this value prompts the user to accept the license when
installing the package. -->
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<!-- Any details about this particular release -->
<releaseNotes></releaseNotes>
<description>Basis Resourcen für das InhouseFramework</description>
<!-- Copyright information -->
<copyright>Copyright ©2018 Inhouse WKO IT</copyright>
<!-- Tags appear in the gallery and can be used for tag searches -->
<tags>inhouseframework inhouse framework resources</tags>
</metadata>
<!-- A readme.txt to display when the package is installed -->
<files>
<file src="..\..\FrameworkLight\Resources\obj\$configuration$\InhouseWKOIT.Framework.Resources.dll" target="lib" />
</files>
</package>
dllへの参照がターゲットプロジェクトに自動的に設定されない理由はありますか?
私は実際に問題を見つけました、パッケージは問題ありません、問題はdllの名前であり、*。Resources.dllで終わります-アセンブリの名前を別のものに変更すると、すべてが正常に機能しました。そのため、NuGetパッケージで名前の問題を探していたところ、次の記事が見つかりました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加