Visual Studio and msbuild produces .net 4 resources dlls instead of 3.5

64 views Asked by At

If you follow the instructions on Access resx resource files from another project to create translations using resx files, when the project is .net 3.5 it is not working and it seems to ignore specified culture.

It seems that the problem is specific with my build chain. I have installed

  • .net 4.8
  • Windows SDK 10 (I have this C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools)
  • Visual Studio 2019

When I inspect the output DLLs using jetbrain's dotPeek, I see that the satellite DLLs are .net 4.0

A colleague doesn't have .net 4.8 or Windows SDK 10 and he produces satellite DLLs .net 3.5 He has Windows SDK 7.

The problem AFAIK is with the al.exe that outputs these DLLs.

1

There are 1 answers

0
Panagiotis Lefas On

The problem was indeed with al.exe. The configuration in al.exe.config was specifying that it should support v4.0 of dotnet.

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0.30319"/>
</startup>

And by changing it to:

<startup>
    <supportedRuntime version="v2.0.50727"/>
</startup>

solved it.