相关疑难解决方法(0)

在C#中运行时加载DLL

我试图找出如何在C#应用程序中运行时导入和使用.dll.使用Assembly.LoadFile()我设法让我的程序加载dll(这部分肯定是有效的,因为我能够获得带有ToString()的类的名称),但是我无法使用'输出'我的控制台应用程序内的方法.我正在编译.dll然后将其移动到我的控制台项目中.CreateInstance之间是否有额外的步骤,然后能够使用这些方法?

这是我的DLL中的类:

namespace DLL
{
    using System;

    public class Class1
    {
        public void Output(string s)
        {
            Console.WriteLine(s);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我想要加载DLL的应用程序

namespace ConsoleApplication1
{
    using System;
    using System.Reflection;

    class Program
    {
        static void Main(string[] args)
        {
            var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll");

            foreach(Type type in DLL.GetExportedTypes())
            {
                var c = Activator.CreateInstance(type);
                c.Output(@"Hello");
            }

            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# reflection dll

76
推荐指数
3
解决办法
18万
查看次数

"无法解析对程序集的依赖性"错误的原因

何时会显示以下消息?

错误1未知的构建错误,'无法解析对程序集的依赖关系'Infragistics2.Win.v10.3,Version = 10.3.20103.2015,Culture = neutral,PublicKeyToken = 7dd5c3163f2cd0cb'因为尚未预加载.使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件按需预加载或加载相关的程序集.

我在现有的工作项目中添加了几个DLL.我知道在没有代码库细节的情况下很难确定原因,但是我想知道出现这种错误消息的一般原因是什么?

注意: 刚刚创建了一个新的WPF项目并添加了一堆新的DLL.那里也存在问题.因此,问题很可能是由于DLL的组织和内容.

c# dll compiler-errors

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×2

dll ×2

compiler-errors ×1

reflection ×1