[解決済み] NuGetからバージョンコントロールにパッケージをチェックインする?
2023-05-20 13:47:35
質問
NuGet 以前、プロジェクトで使用するすべての外部 DLL をチェックインすることは、一般に認められた「ベスト プラクティス」でした。通常
Libs
または
3rdParty
ディレクトリを作成します。
NuGet で作業しているとき、私はチェックインすることになっています。
packages
ディレクトリにチェックインするのですか、それとも MSBuild が nuget フィードから必要なパッケージを自動ダウンロードする方法がありますか。
どのように解決するのですか?
質問してから、toplovelで確認する必要がないように、以下の方法を入れました。 パッケージ ディレクトリで確認する必要がないようにしました。
トップレベルの build.msbuild ファイルで。
<Target Name="NuGet">
<ItemGroup>
<NuGetPackage Include="*\packages.config" />
</ItemGroup>
<Exec Command='libs\NuGet.exe install "%(NuGetPackage.FullPath)" -o Packages' />
<!-- optional for project that has JavaScript content -->
<CreateItem Include="Packages\*\Content\Scripts\*">
<Output TaskParameter="Include" ItemName="NuGetJSFiles"/>
</CreateItem>
<Copy SourceFiles="@(NuGetJSFiles)" DestinationFolder="MainProj\Scripts\" OverwriteReadOnlyFiles="true" SkipUnchngedFiles="true" />
<Delete Files="MainProj\Scripts\.gitignore" />
<WriteLinesToFile File="MainProj\Scripts\.gitignore" Lines="%(NuGetJSFiles.Filename)%(NuGetJSFiles.Extension)" /
<Delete Files="@(PostNuGetFiles)" />
</Target>
各project.csprojファイルでは
<Target Name="BeforeBuild">
<Error Condition="!Exists('..\Packages\')" Text="You must run > msbuild build.msbuild to download required NuGet
Packages" />
<!-- optional for project that has JavaScript content -->
<ReadLinesFromFile File="Scripts\.gitignore">
<Output TaskParameter="Lines" ItemName="ReqJSFiles" />
</ReadLinesFromFile>
<Message Text="@(ReqJSFiles)" />
<Error Condition="!Exists('Scripts\%(ReqJSFiles.Identity)')" Text="You must run > msbuild build.msbuild to download required NuGet JS Package - Scripts\%(ReqJSFiles.Identity)" />
</Target>
関連
-
[解決済み] NuGetで旧バージョンのパッケージをダウンロードする
-
[解決済み] Git で master の変更をブランチに取り込む
-
[解決済み] packages.config にあるすべてのパッケージを NuGet にインストール/更新させるにはどうすればよいですか?
-
[解決済み] composer.lockはバージョンコントロールにコミットすべきですか?
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
-
[解決済み】NuGetパッケージが見つからない
-
[解決済み] いくつかのプロジェクトが複数のソリューションに含まれている場合、すべてのソリューションに共通のnugetパッケージフォルダを設定する
-
[解決済み] git add . vs git commit -a
-
[解決済み] .gradleフォルダはバージョン管理に追加すべきですか?
-
[解決済み] Git Bashの画面をクリアするコマンド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] hg forgetとhg removeの違いは何ですか?
-
[解決済み】ソースコントロールに変更をコミットする頻度を教えてください。[クローズド]
-
[解決済み] TFSソースコントロールで複数のファイルを移動する
-
[解決済み] Hudson / Jenkinsの設定ファイルをソース管理する方法はありますか?
-
[解決済み] 名前付きブランチとマルチリポジトリの比較
-
[解決済み] Mercurial (hg) は特定のファイルだけをコミットする
-
[解決済み] hg のバージョン間でどのファイルが変更されたかのリストを生成する
-
[解決済み] .gradleフォルダはバージョン管理に追加すべきですか?
-
[解決済み] どのような場合に支店を設立すべきなのでしょうか?
-
[解決済み] .nugetフォルダはバージョン管理に加えるべきですか?