1

マルチプロジェクトのASP.NETWebフォームアプリケーションソリューションがあります。マスターページ(3つのファイル)、いくつかのユーザーコントロール、およびいくつかの画像、スクリプト、CSSファイルをソリューション内の他のプロジェクトと共有する必要があります。

ドキュメントに従って、NuGetパッケージエクスプローラーを使用してパッケージを既に作成しました。

http://docs.nuget.org/docs/creating-packages/using-a-gui-to-build-packages

私の現在の問題はこれです:ルートプロジェクトの共有ファイルを更新しましたが、他のプロジェクトにプルする前にパッケージを更新したいと思います(現在、開発マシンのローカルフォルダーにあるパッケージ)。どうすればよいですか?

誰かが始めたばかりのNuGetリンクを持っている場合は、公式ドキュメントが私のためにそれを行っていないので、共有してください。

4

4 に答える 4

3

元のバージョンが1.0の場合は、新しいバージョンでパッケージを再度作成します。これを1.1にすると、NuGetが更新を取得します。

于 2011-06-09T23:33:22.827 に答える
1

NuGetファイルは最終的には単なるzipファイルです。zipファイルを更新できるものなら何でもエントリを更新できます。のようなもの

using System.IO.Compression;
using System.IO.Compression.FileSystem;

// EG: AddOrUpdateZipEntry("mypackage.nupkg", "my.dll", "bin/my.dll")
void AddOrUpdateZipEntry(string zipFilePath, string contentsFilePath, string entryPathInZip)
{
    using (var zip = ZipFile.Open(zipFilePath, ZipArchiveMode.Update))
    {
        zip.GetEntry(entryPathInZip)?.Delete(); // Remove any existing entry first.
        zip.CreateEntryFromFile(contentsFilePath, entryPathInZip);
    }
}
于 2019-07-02T10:04:01.673 に答える
0

すでにパッケージを使用しているプロジェクトを更新するために何をする必要があるかを尋ねていますか?

この種のシナリオで重要なのは、単にバージョン管理を行うことです。ファイルの新しいバージョンがサブアウトされます。パッケージを新しいバージョン番号で再度バンドルしてから、VSのパッケージマネージャーコンソールからUpdate-Packageを実行します。

また、1つのまっすぐなパッケージではなく、いくつかの目立たないパッケージを検討することもできます。いくつかの画像またはCSSファイルを更新したいが、MasterPageは更新したくない場合は、いくつかの小さい画像を使用するのが最適な場合があります。

PM Explorer(あなたが言及した投稿から)を使用して、NuGetメインリポジトリからいくつかのパッケージ、特にjQuery 1.5.1と1.6.xを開き、これらが非常によく似た動作をするので、見てみましょう。本当の魔法は必要ありません!

乾杯。

于 2011-06-09T20:37:30.957 に答える
0

私はすでにそれをしました。.nu​​specファイルのメタデータ内でパッケージのバージョンをインクリメントする必要があります。

私の場合、パッケージ名は' [name]。[version].nupkg 'なので、新しいパッケージも' [name]。[version +1 ].nupkg 'として保存します。

この更新は、[nugetパッケージの管理]更新セクションに表示されます。

于 2015-02-24T19:50:22.997 に答える