---
lang: ja-jp
breaks: true
---
# MSBuild 「`error MSB4018: "ResolveManifestFiles" タスクが予期せずに失敗しました。`」「`net48 は無効なカルチャ識別子です。`」とビルドエラーになる 2022-07-05
```shell=
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: "ResolveManifestFiles" タスクが予期せずに失敗しました。
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: System.Globalization.CultureNotFoundException: カルチャはサポートされていません。
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: パラメーター名:name
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: net48 は無効なカルチャ識別子です。
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: 場所 System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: 場所 Microsoft.Build.Tasks.ResolveManifestFiles.GetItemCulture(ITaskItem item)
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: 場所 Microsoft.Build.Tasks.ResolveManifestFiles.GetOutputAssemblies(List`1 publishInfos, List`1 assemblyList)
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: 場所 Microsoft.Build.Tasks.ResolveManifestFiles.GetOutputAssembliesAndSatellites(List`1 assemblyPublishInfos, List`1 satellitePublishInfos)
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: 場所 Microsoft.Build.Tasks.ResolveManifestFiles.Execute()
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: 場所 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
3>C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(4417,5): error MSB4018: 場所 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
```
## 旧形式csprojに以下の設定があると発生する模様。
```xml=
<PropertyGroup>
<GenerateManifests>true</GenerateManifests>
</PropertyGroup>
```

## ほかの人もなんか質問している
> Visual Studio 2022 Build Fail: "ResolveManifestFiles", CultureNotFoundException
> https://stackoverflow.com/questions/69908135/visual-studio-2022-build-fail-resolvemanifestfiles-culturenotfoundexception/70861654
>
> I did some research and finally I found the problematic code in my solution.
>
> I have 198 Projects in my solution, in 197 of them is the line [assembly: AssemblyCulture("")] disabled: //[assembly: AssemblyCulture("")] or the line does not exist at all inside the Assembly.cs.
>
> But in one of my (base) projects I found this: [assembly: AssemblyCulture("en-US")]
>
> After I changed it to: //[assembly: AssemblyCulture("en-US")] everything works fine.
## やってみる。
全て、`[assembly: AssemblyCulture("")]`だったので、`//[assembly: AssemblyCulture("")]` 変更してみたが、特に変化は無し。
## とりあえず解決
`Microsoft.ReportViewer.WinForms.dll` の `150.900.148` をプロジェクトに内包して使用していたが、これがあると発生する為、NuGetパッケージから最新版を参照して使用するようにしたところ解決。
```xml=
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Types" />
<PackageReference Include="Microsoft.ReportingServices.ReportViewerControl.Winforms" />
<PackageReference Include="Microsoft.ReportingServices.ReportViewerControl.WebForms" />
</ItemGroup>
```
#### Directory.Build.targets
```xml=
<Project>
<ItemGroup>
<PackageReference Update="Microsoft.SqlServer.Types" Version="14.0.1016.290" />
<PackageReference Update="Microsoft.ReportingServices.ReportViewerControl.Winforms" Version="150.1484.0" />
<PackageReference Update="Microsoft.ReportingServices.ReportViewerControl.WebForms" Version="150.1484.0" />
</ItemGroup>
</Project>
```
###### tags: `MSBuild` `ResolveManifestFiles` `CultureNotFoundException` `net48 は無効なカルチャ識別子です。`