Visual Studio и msbuild создают библиотеки ресурсов .NET 4 вместо 3.5

Если вы следуете инструкциям по доступу к файлам ресурсов resx из другого проекта для создания переводов с использованием файлов resx, когда проект .net 3.5, он не работает и, похоже, игнорирует указанную культуру.

Кажется, проблема связана с моей цепочкой сборки. Я установил

  • .net 4.8
  • Windows SDK 10 (у меня это C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools)
  • Visual Studio 2019

Когда я проверяю выходные DLL с помощью dotPeek от jetbrain, я вижу, что вспомогательные библиотеки DLL - это .net 4.0.

У коллеги нет .net 4.8 или Windows SDK 10, и он создает вспомогательные библиотеки DLL .net 3.5. У него Windows SDK 7.

Проблема AFAIK связана с al.exe, который выводит эти библиотеки DLL.

1 ответ

Проблема действительно была в al.exe. Конфигурация в al.exe.config указывал, что он должен поддерживать v4.0 дотнет.

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

И изменив его на:

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

решил это.

Другие вопросы по тегам