問題タブ [nuget-spec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nuget - Nuget 3.3/VS 2015 パッケージにより、プロジェクトは dll を参照しますが、コンテンツ ファイルは含まれません
Nuget (3.3) の最新バージョンを使用して Nuget パッケージに取り組んでおり、新しい「contentFiles」機能を使用してコンテンツを含めようとしています。ただし、Nuget は、インストール後またはインストール中にコンテンツ ファイルを宛先プロジェクトにコピーすることを完全に拒否しています。プロジェクトで参照する両方の DLL ファイルが正しく含まれています。これが私の .nuspec ファイルのコピーです。
インストール後の最終フォルダ構造は次のようになります。
それは正しいように思えますが、contentFiles/any/net45 内のファイルは実際には .csproj ファイルに追加されていません。追加される唯一のファイルは、packages.config ファイルです。
.net - nuget パッケージから参照コンテンツ フォルダーを除外する方法
私の.csproj
ファイルには、別のプロジェクトから 3 つの参照コンテンツ フォルダーがあります。
nuget
コンテンツ ファイルが含まれていないプロジェクトからパッケージを作成したいと考えています。私はこのコマンドを試しました:
ただし、上記のファイルが含まれています。また、これらの引数を試してみまし-Exclude
たが、成功しませんでした:
使用する**/infrastructure/**
と機能しますが、パッケージ化する必要がある一部のファイルも除外されます。
参照されているコンテンツ ファイルを除外するにはどうすればよいですか?
PS:私のファイルには、要素.nuspc
が1つしかありません: .file
<file src="cassette-cache\**" target="Content" />
c# - 'targetFramework' 属性が指定されていない場合、Nuget は依存関係をインストールしません
nuspec リファレンスの章「Specifying Dependencies in version 2.0 and above」によると、属性を追加せずに要素dependency
で aを宣言することが可能です。これは、この依存関係がすべてのフレームワークで有効であることを意味します。そこで、パッケージの 1 つの .nuspec で次のように指定しました。group
targetFramework
私のプロジェクトの1つにパッケージをインストールした後、依存関係はまったくありません。packages
プロジェクト参照にも、プロジェクトのルートにあるフォルダーにもありません。ただし、これを行う場合:
...問題なく動作します。
これはバグですか?~~空のローカル宣言で「グローバル」依存関係構成をオーバーライドする可能性がありますか?~~または、ここで何か誤解しましたか?
編集
空の依存関係要素を宣言し、「グローバル要素」を保持することは可能です: https://github.com/dsplaisted/PCLStorage/blob/master/common/PCLStorage.nuspec
visual-studio - 別のソースを参照する NuGet パッケージを作成できますか?
NuGet パッケージとして公開する必要があるプロジェクトがあります。
このプロジェクトは、MyGet フィードで利用できる他の NuGet パッケージを参照します。
Visual Studio のパッケージ ソースに MyGet を手動で追加しなくても、これらの参照が正しく解決されるように、NuGet パッケージに MyGet フィードへの参照対象を含める方法はありますか?
nuget - net45、asp.net core 5.0、および Windows 8 をターゲットとするポータブル ライブラリには、どの lib フォルダーを使用すればよいですか?
現在、C# でポータブル ライブラリを開発しており、NuGet の公式フィードで公開したいと考えています。以前にアセンブリを NuGet パッケージとして発行したことがありますが、それらは単一のフレームワーク (.NET 4.0) に対して記述されていました。
今、NuGet パッケージで lib フォルダーを整理する方法がわかりません。私のポータブル ライブラリは、.NET 4.5、ASP.NET Core 5.0、Windows 8、Windows Phone 8.1、および Windows Phone Silverlight 8 プロジェクトで使用できます。
フレームワーク プロファイルとそれに対応する NuGet の略語を調べようとしましたが、公式ドキュメントには見つかりませんでした。Stephen Cleary は少し前にプロファイルをまとめましたが、彼のリストには ASP.NET Core 5.0 のプロファイルが含まれていません。
私の実際の質問は、NuGet パッケージの lib フォルダーをどのように構成すればよいですか? 上記のフレームワーク バージョンを対象とするポータブル ライブラリのプロファイル名は何ですか? そして、まさにそのプロファイル名を取得した場合、アセンブリは移植不可能なライブラリ プロジェクト (.NET 4.5 や WinRT など) で適切に参照されていますか? または、異なるフレームワーク バージョンのサブフォルダーを作成し、それらすべてにまったく同じアセンブリをコピーする必要があります (パッケージのサイズが大幅に増加します)。NuGet パッケージ エクスプローラーでこの方法を実行しているいくつかのパッケージ (xunit.assert など) を見たことがあります。
nuget - NuGet による条件付きアセンブリ参照
アセンブリ参照の複雑なセットを持つ Visual Studio ソリューション ( TFS Aggregator ) があり、NuGet を使用して解決しようとしています。リファレンスは、.Net プラットフォームではなく、ターゲットの構成に依存します。
問題定義
ソリューションには多数のプロジェクトがあり、そのほとんどが共通のアセンブリ セットを参照しています。API の変更を公開するさまざまなアセンブリのバージョンがあります。ソース コードには、バージョンの違いを管理するための条件付きコンパイル #ifが散在しています。したがって、プロジェクトとソリューションにはいくつかの構成があります。プロジェクト参照は、構成によって異なります。
現在の状態
ソースでわかるように、すべてのプロジェクトは、 Chooseを使用していくつかの魔法を実行する共通の MSBuild ファイルをインポートし ます。参照アセンブリは、ソリューション レベルの共通フォルダーに存在する必要があり、各バージョンは異なるサブフォルダーにあります。
たとえば、ソースコードには
ソリューションにはDebug-2013
、コンパイル シンボルを定義TFS2013
し、MSBuild スニペットをインポートする構成があります。
正しいアセンブリ バージョンを指しています。同様のDebug-2015
構成は、TFS2015
コンパイル シンボルとインポートを定義します。
現状のマイナス面
このソリューションの欠点は、参照フォルダーの管理です。すべての新しいクライアント マシンで、正しいファイルをコピーする必要があります。ビルド サーバーについても同様です。NuGet を使用してこの混乱を管理したいと考えています。
NuGet 試行 #1
.nuspec
私はファイルでこれを試しました
ただし、各プロジェクトで参照フォルダーの作成を終了し、条件付き参照を解決しません。