gpt4 book ai didi

c# - 将 net framework 4.5.2 升级到 4.7.1 后生成错误 "An attempt was made to load an assembly with an incorrect format "

转载 作者:太空狗 更新时间:2023-10-29 20:52:39 25 4
gpt4 key购买 nike

我们正在尝试更新我们程序的框架。我们目前的版本是 4.5.2,我们想将它更新到版本 4.7.1

我们已经更改了解决方案的所有 csproj,当我们在调试中编译时,应用程序可以正确编译和运行。但是当我们在发布时这样做时,它会因以下错误而失败:

An attempt was made to load an assembly with an incorrect format: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1\Facades\System.IO.Compression.ZipFile.dll

我们真的不知道出了什么问题,有人知道它可能是什么吗?

非常感谢。

最佳答案

更新:正如 Josh 在下面建议的那样,现在 4.7.2 可用,请升级到该 .NET 版本以获得此问题的最佳解决方案。

如果坚持使用 4.7.1:这可能无法解决问题的根源,但如果您想暂时解决这个问题,请找到有问题的项目并编辑其设置(rclick 项目,“属性” ,然后是“构建”选项卡。)

将 Release模式的“生成序列化程序集”设置为“关闭”。

如果它仍然报错,请尝试添加以下 <Target> s 到您的 .csproj 文件(例如,朝向底部,就在封闭的 </Project> 根标记内:

<Target Name="RemoveDesignTimeFacadesBeforeSGen" BeforeTargets="GenerateSerializationAssemblies">
<ItemGroup>
<ReferencePath Remove="@(_DesignTimeFacadeAssemblies_Names->'%(OriginalIdentity)')" />
</ItemGroup>
<Message Importance="normal" Text="Removing DesignTimeFacades from ReferencePath before running SGen." />
</Target>
<Target Name="ReAddDesignTimeFacadesBeforeSGen" AfterTargets="GenerateSerializationAssemblies">
<ItemGroup>
<ReferencePath Include="@(_DesignTimeFacadeAssemblies_Names->'%(OriginalIdentity)')" />
</ItemGroup>
<Message Importance="normal" Text="Adding back DesignTimeFacades from ReferencePath now that SGen has run." />
</Target>

关于c# - 将 net framework 4.5.2 升级到 4.7.1 后生成错误 "An attempt was made to load an assembly with an incorrect format ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49303108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com