問題タブ [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.
visual-studio - Nuget パッケージ - 参照されたアセンブリがプロジェクト参照として含まれていない
問題に入る前に、私の目標を簡単に説明しましょう。
構築する各 Web サイトに使用するテンプレート プロジェクトがあります。これには、基本クラス、共通ページ (お問い合わせなど)、便利なユーティリティ (例外ログ) などが含まれます。このテンプレートを再利用可能で更新可能にしたいと考えています。以前は Visual Studio プロジェクト テンプレートを使用していましたが、必要なすべてのアセンブリを参照する際に問題があったため、Nuget に目を向けました。これは簡単で、追加のメリットもあるという印象を受けました。
問題:
パッケージ内のすべての参照 (ソリューション内の他のプロジェクトとローカル コンピューター上の dll の両方) を含む nuget パッケージを作成し、このテンプレートをインストールする子プロジェクトでそれらを依存関係にする方法がわかりません。
これは私が得た距離です:
a. プロジェクトのnuspecファイルには、次のものがあります。
b. pack コマンドを実行するときは、nuget pack {projectname}.csproj - IncludeReferencedProjects -Symbols を使用します。
c. 出力は 2 つの別個のプロジェクトであり、1 つは .symbols を含み、もう 1 つは含まず、パッケージ エクスプローラーでは次のように表示されます。
ですから、この時点では、すべてを正しく行っているように感じます。しかし、Visual Studio で新しい空の Web アプリケーションを作成し、このパッケージをインストールすると、これらの参照されたアセンブリまたはプロジェクトはいずれも参照の下に含まれません。
d. Visual Studio の新しい (子) プロジェクトで:
ここで完全なレンガの壁にぶつかりました。私は何日もウェブを検索してきましたが、役に立ちそうなものをたくさん見つけましたが、行き止まりになりました。
- https://github.com/dittodhole/powershell-nuget-packager
- 参照された依存関係を含む NuGet パッケージを自動的にビルドする
- NuGet のパッケージ化と dll の参照
- パッキング時に nuget に参照プロジェクトが含まれないのはなぜですか?
どこが間違っていますか?
更新
.net451 フォルダーに、すべての外部プロジェクト参照が追加されます。ただし、WebApplication のスクリーンショットでわかるように、これらの参照も追加されていません。
(ソース: blabberjax.com )
nuget - NuGet はコンテンツをコピーせず、install.ps1 を実行しません
NuGet.exe 1.2.20311.3 と次の仕様を使用して Nuget パッケージを作成しようとしています。
Nuget によってパッケージが生成され、パッケージ エクスプローラーに次のように表示されます。
Install.ps1 は次のようになります。
このパッケージを MVC プロジェクトにインストールすると、スクリプト ファイルがコピーされず、パッケージ コンソールにスクリプトからの出力が表示されません。Visual Studio 2016 を使用しています。
NuGet 仕様の何が問題になっていますか?
nuget - コンテンツ フォルダーなしで nuget パッケージをインストールする
csproj に nuget パッケージをインストールする必要があり、nuget パッケージの "content" フォルダーに含まれるすべてのファイルがインストールされないようにしたいと考えています。それを行う方法はありますか?
batch-file - コマンド ライン スイッチを介して値を編集する Nuget 仕様
私はライブラリを作成しており、nuget spec
およびnuget pack
コマンドを使用して nuget パッケージを作成しています。ただし、 を実行するたびにnuget spec
、.nuspec
必要のないファイル (「SampleDependency」など) にゴミが大量に発生します。コマンド ライン スイッチを介してこれらの値 (ID、URL など) を追加できるかどうか疑問に思っていました。 . ドキュメントで確認できることから、それは不可能ですが、省略されているのか、それとも同様のものなのかはわかりません。また、それが不可能な場合、ファイルをバッチで編集して必要な値を与えるにはどうすれば.nuspec
よいですか?
nuget - VSTS で自動化した後、Nuget パッケージングが失敗する
あらゆる種類のプロジェクトで頻繁に使用する共通ライブラリの場合、nuget サーバーをセットアップします。しばらくの間、次のように nuget パッケージを手動で公開しました。
このパッケージを手動で nuget サーバーにプッシュしました。
ここで、このブログ記事で説明されているように、VSTS Build vNext を使用してこの公開を自動化したい: http://www.codewrecks.com/blog/index.php/2015/09/26/publishing-a-nuget-package-to-nugetmyget -with-vso-build-vnext/
以前と同じ nuspec ファイルを使用します。
自動化の後、次のエラーメッセージが表示されます。
説明: アセンブリ 'bin\Release\CommonLibrary.dll' は 'lib' フォルダー内にないため、パッケージがプロジェクトにインストールされるときに参照として追加されません。解決策: 参照する必要がある場合は、「lib」フォルダーに移動します。問題: lib フォルダー外のアセンブリ。
nuget サイトのパッケージ規則セクションを読みましたが、これらの規則に自動的に準拠するにはどうすればよいですか。言い換えれば、構築および参照された dll を、buidcontroller の適切な場所に配置するにはどうすればよいでしょうか。
助けてくれてありがとう、
敬具、ルーク・クリネン
Extra : FTP を使用して nuget パッケージをダウンロードした後、元のソース コードと同じように、コンパイル済みのソースがツリー内のパッケージに追加されます。したがって、コンパイルした dll はフォルダ .\Bin\Release\ 内にあります。
nuget - SSRS レポートの NuGet パッケージを作成できますか?
SSRS レポートとデータ ソースの NuGet パッケージを作成する方法はありますか? 次の仕様がありますが、メッセージが表示されます。
依存関係もコンテンツも持たないパッケージは作成できません。
最終的な目標は、VSTS ビルド イベントで Octopus Deploy を使用してレポートを開発サーバーにプッシュすることです。