问题描述
我在“ 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 ++项目。
更多阅读
,