如何解决C#CLR异常“ BadImageFormatException:无法加载文件或程序集”
我在“ WPF应用程序(.NET)”项目中引用了“ CLR类库(.NET Core)”项目,但遇到了一个例外:
BadImageFormatException: Could not load file or assembly 'LibCLR,Version=1.0.7646.21580,Culture=neutral,PublicKeyToken=null'. An attempt was made to load a program with an incorrect format.
首先让我说说我是怎么做到的。
-
在项目“ LibCLR”中自动创建的“ LibCLR.h”,并且代码位于其中
#pragma once
using namespace System;
namespace LibCLR {
public ref class Class1
{
// TODO: Add your methods for this class here.
};
}
- 添加“新的LibCLR.Class1();”在项目“ TestCLR”中的MainWindow.xaml.cs中
using System.Windows;
namespace TestCLR {
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
new LibCLR.Class1();
}
}
}
-
如果在步骤1中为“ TestCLR”选择“ WPF应用程序(.NET Framework)”,在步骤2中为“ LibCLR”选择“ CLR类库(.NET Framework)”,则效果很好
为什么不起作用? 我不能将“ CLR类库(.NET)”项目用作“ WPF应用程序(.NET Core)”项目中的项目引用吗? 我该如何解决这个问题?
解决方法
尝试使用特定于操作系统的Target Framework Moniker。打开两个项目的.csproj文件。尝试将两个项目都设置为<TargetFramework>net5.0-windows</TargetFramework>
清洁解决方案,重建并测试。
我们这里有一个依赖Windows的解决方案。我们不应该拥有,但让我们尝试明确地将其定位。尤其是那个C ++项目。
更多阅读
,版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。