ROMANCE DAWN for the new world

Microsoft Azure を中心とした技術情報を書いています。

Azure Functions のビルドが NuGet エラーで失敗する件

Azure Functions のビルドで NuGet エラーに遭遇したので顛末をまとめておきます。

現象

Azure Functions は、Isolated Worker Process モデルの Durable Functions(.NET9)です。 In-Process モデルでも通常の Functions でも同様のエラーでビルドが失敗します。


error NU1102: バージョン (>= 4.3.1) のパッケージ System.Text.RegularExpressions が見つかりません
error NU1102:   - 2 バージョンが Microsoft Visual Studio Offline Packages に見つかりました。 [ 最も近いバージョン: 4.1.0 ]
error NU1102:   - nuget.org からのバージョンは考慮されませんでした。
error NU1100: 'net6.0' に対する 'Grpc.Core (>= 2.46.6)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'ncrontab.signed (>= 3.3.0)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'runtime.native.System (>= 4.3.0)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'runtime.native.System.Net.Http (>= 4.3.0)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'runtime.native.System.Security.Cryptography.OpenSsl (>= 4.3.2)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'Azure.Data.Tables (>= 12.8.0)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'WindowsAzure.Storage (>= 9.3.1)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'Newtonsoft.Json.Bson (>= 1.0.1)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。
error NU1100: 'net6.0' に対する 'runtime.native.System.Security.Cryptography.Apple (>= 4.3.0)' を解決できません。 PackageSourceMapping が有効になっています。次のソースは考慮されませんでした: Microsoft Visual Studio Offline Packages, nuget.org。

Visual Studio から NuGet のキャッシュをクリアしても、エラーは解決しませんでした。


原因

数日前まではビルドが成功していたので、正直何もしていないのに壊れた状態です。

learn.microsoft.com
learn.microsoft.com

エラーコードの説明を読むと、NuGet.Config が怪しそうなので、パッケージソースのマッピングを追加したところ、そのパッケージのエラーは解消するものの、また別のパッケージでエラーが発生してしまいます。


対応

結論としては、パッケージソースのマッピングをすべて削除することで、エラーが解決しました。念のため、すべて削除した後にキャッシュもクリアしました。

自分ではパッケージソースのマッピングを追加していないのに、かなりの数のマッピングが追加されていました。そもそも個別に追加する必要はないはずなので、何かの拍子に追加されたマッピング同士の依存関係が悪さをしていたのかもしれません。