Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compile error with WPF .net Core 3.0 when adding .resx files

Following works as expected: VS Studio 2019 tested with professional and community.

  • Create new APF App (.NET Framework)
  • Open properties Folder
  • Change Resources.resx to public
  • Create a new resources file (Resources.de.resx)
  • Build

Compiles as expected

Following does not work:

  • Create new APF App (.NET Core)
  • Create a Resources Folder
  • Create a new resources file (Resources.resx)
  • Change it to public
  • Create a new resources file (Resources.de.resx)
  • Build

Tested it on 3 different machines with VS 2019 professional and community

Compile Errors:

Error Custom tool PublicResXFileCodeGenerator failed to produce an output for input file 'Resources\Resources.de.resx' but did not log a specific error. WpfApp4 C:...\source\repos\WpfApp4\WpfApp4\Resources\Resources.de.resx 1

Error MSB3086 Task could not find "al.exe" using the SdkToolsPath "" or the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\NETFXSDK\4.7.2\WinSDK-NetFx40Tools-x86". Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location under the SdkToolsPath and that the Microsoft Windows SDK is installed WpfApp4 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 3639

EDIT: Also created a Ticket at Microsoft

https://developercommunity.visualstudio.com/content/problem/771961/compile-error-with-wpf-net-core-30-when-adding-res.html

like image 540
Klamsi Avatar asked Oct 09 '19 06:10

Klamsi


2 Answers

Try to install .NET Framework 4.7.2 Developer Pack. It is needed only for compilation.

like image 109
Pavlo Neiman Avatar answered Sep 30 '22 07:09

Pavlo Neiman


In VisualStudio 2019 in an asp.net core 3.1 webSite project (using Globalization), I faced this issue when I used an existing resource file.

To solve the issue:

  1. Created a new Resource.resx. (Using Add>New Item...>Resorce File.resx .
  2. Copy all contents of the first file in the new file (Copy all three columns).
  3. Delete the old file.
  4. Rename the new file to the intended name.

It worked for me. I wish it works for you too.

like image 45
Matthew Avatar answered Sep 30 '22 08:09

Matthew