CompilerParameters.ReferencedAssemblies.Add("System.dll");
此语句只能加载系统的DLL文件或者C#自己编译的DLL文件吗?例如
我目前有一个C++的test.dll文件以及test.cs文件,我只要在DEBUG里面添加我的test.dll文件,已经在程序中引用现有项目test.cs就可以正常使用,可是一旦使用动态编译的CompilerParameters.ReferencedAssemblies.Add方法就会提示无法使用,这是神马情况呢?请高手指点
此语句只能加载系统的DLL文件或者C#自己编译的DLL文件吗?例如
我目前有一个C++的test.dll文件以及test.cs文件,我只要在DEBUG里面添加我的test.dll文件,已经在程序中引用现有项目test.cs就可以正常使用,可是一旦使用动态编译的CompilerParameters.ReferencedAssemblies.Add方法就会提示无法使用,这是神马情况呢?请高手指点
[DllImport("kernel32")]
static extern IntPtr LoadLibrary(string lpFileName);
[DllImport("kernel32)]
static extern IntPtr GetProcAddress(IntPtr hModule, string procName);第一个函数加载非托管dll,参数为dll路径,返回一个句柄。
第二个函数获得指定函数名的函数指针。第一个参数为LoadLibrary所获的句柄,第二个参数为函数名称。返回的IntPtr可以通过Marshal的一个静态方法转为delegate。也可以在GetProcAddress的声明中直接将返回的类型定义为delegate。