我用C#创建了一个DLL,并try 从它调用一个函数.但它有一个错误:

未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集‘System.Runtime,版本=6.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a’或其依赖项之一.系统找不到指定的文件.

我的DLL代码:

using System;
namespace Draf_Lib
{
    public class Class1
    {
        public static int add(int x, int y) { return x + y; }
    }
}

下面是我从其中调用该函数的C#代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
//using MacroLib;
using Draf_Lib;

namespace Draft1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello");
            Class1 c = new Class1();
            int b = Class1.add(9, 8);
            Console.WriteLine(b);
        }
    }
}

我已经把图书馆作为参考了.有没有人能给我个建议来解决这个问题?

enter image description here

推荐答案

这是因为您在创建项目时 Select 了错误的目标框架.下面是我重现您的问题的一个例子:

  1. 首先,我在创建类库时 Select 了类库,目标框架 Select 为.Net 6.0

enter image description here

enter image description here

  1. 然后,我创建了一个控制台应用程序(.Net框架),并将目标框架 Select 为.Net框架4.7.2

enter image description here

  1. 当我引入DLL并运行该项目时,报告了以下错误.

enter image description here

In fact, you should choose Console App when creating a console program, as follows. The target framework can choose .net 6.0.

enter image description here

Csharp相关问答推荐

如何使用PDFSharp将文本添加到现有PDF

发布.NET框架项目将.NET核心元素注入到web. connect中

List T.AddRange在传递ConcurrentDictionary作为参数时引发ArgumentExcellent

为什么.Equals(SS,StringComparison. ClientCultureIgnoreCase)在Net 4.8和6.0之间不同?

ASP.NET MVC购物车数量更新并从购物车中删除项目

从Blob存储中提取tar.gz文件并将提取结果上载到另一个Blob存储

无法创建';';类型的';DbContext';.异常';无法解析类型';Microsoft.EntityFrameworkCore.DbContextOptions`1[Comm的服务

如何将ASP.NET Core 2.1(在.NET框架上运行)更新到较新的版本?

为具有实体框架后端的Reaction项目 Select 正确的Visual Studio模板

如何使用MailKit删除邮箱?

是否由DI容器自动处理由ActivatorUilties.CreateInstance()创建的服务?

VS 2022与VS 2019:如何/为什么创建额外的任务?

具有类型识别的泛型方法

在同一个捕获中可以有多种类型的异常吗?

C#如何获取字符串中引号之间的文本?

无效的Zip文件-Zip存档

如何使ExecuteAsync异步运行

有没有更好的方法来使用LINQ获取整行的计算组

同时通过多个IEumable<;T&>枚举

C#LINQ多行条件