微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Visual Studio 和 msbuild 生成 .net 4 资源 dll 而不是 3.5

如何解决Visual Studio 和 msbuild 生成 .net 4 资源 dll 而不是 3.5

如果您按照 Access resx resource files from another project 上的说明使用 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

当我使用 jetbrain 的 dotpeek 检查输出 DLL 时,我看到卫星 DLL 是 .net 4.0

一位同事没有 .net 4.8 或 Windows SDK 10,他生成了卫星 DLL .net 3.5 他有 Windows SDK 7。

AFAIK 的问题在于输出这些 DLL 的 al.exe。

解决方法

问题确实出在 al.exe 上。 al.exe.config 中的配置指定它应该支持 dotnet 的 v4.0

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

并将其更改为:

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

解决了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。