在我的项目中我需要使用插件。但是要在我的项目中使用这些,我需要导入插件的引用。由于我无法事先知道项目使用了多少或哪些插件,所以我想在我的项目中动态导入它们。Stringpath=Application.StartupPath;string[]pluginFiles=Directory.GetFiles(path,"*.dll");ipi=newIPlugin[pluginFiles.Length];Assemblyasm;for(inti=0;i在此代码示例中,我搜索了所有.dll文件并将它们放入字符串列表中。但是我现在如何加载所有这些.dll文件呢?或者有没有办法在不真正导入这些文件
我有一个C#dll。代码如下:publicclassCalculate{publicstaticintGetResult(intarg1,intarg2){returnarg1+arg2;}publicstaticstringGetResult(stringarg1,stringarg2){returnarg1+""+arg2;}publicstaticfloatGetResult(floatarg1,floatarg2){returnarg1+arg2;}publicCalculate(){}}现在,我打算用这种方式从C++调用这个dll。[DllImport("Calculatio
我正在尝试打开aproject在MacMavericks上的Monodevelop(3.0.5,启用了MonoMac插件)中。我收到这个错误:MonoDevelop.Projects.Formats.MSBuild.UnknownSolutionItemTypeException:Unknownsolutionitemtype:{42C0BBD9-55CE-4FC1-8D90-A7348ABAFB23};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}atMonoDevelop.Projects.Formats.MSBuild.MSBuildProjectH
我将在一个文件夹中有一个dll列表,我想检查一个dll是否存在一个应用程序。如果是这样,我想在网格中添加该应用程序名称。任何人都可以告诉如何以编程方式执行此操作。提前致谢 最佳答案 执行assembly.LoadFrom并检查GlobalAssemblyCachetestAssembly=Assembly.LoadFrom(dllname);if(!testAssembly.GlobalAssemblyCache){//notingac} 关于c#-以编程方式检查Gac中是否存在dll。
在我的C#应用程序中,我想用C编写一部分代码。我计划编写一个DLL女巫,可以与.Net互操作。我该怎么做? 最佳答案 基本上有三种正确的方法:使用C++/CLI。如果此DLL仅供.NET使用,这是最佳方式。使用“extern"C"”兼容的API,例如WindowsAPI本身。这是最便携的,但对于您的调用者来说不如使用类模型来表示您的对象方便。如果您真的打算用ANSIC(而不是C++)编写,这是最佳选择。对于此路径,您将函数编写为extern"C"returntype__stdcall__declspec(dllexport)func
我已经安装了API以使用C#5的新功能,但发生了一些奇怪的事情。我可以使用async关键字,但VS2010告诉我“找不到与任务相关的类型。您是否缺少对AsynCtpLibrary.dll的引用?”而且我在编译时也看到了一些错误,例如“compilerrequiredmember'System.Runtime.CompilerServices.AsyncMethodBuilder.Create'”AsyncCtpLibrary.dll在哪里?它解决了我的问题,将其添加到引用? 最佳答案 默认情况下,我认为是在“C:\Users\@us
我用单一方法编写了.Net3.5dll,供Delphi.exe调用。不幸的是,它不起作用。步骤:1.使用代码创建C#3.5dll:publicclassMyDllClass{publicstaticintMyDllMethod(inti){MessageBox.Show("Thenumberis"+i.ToString());}}转到AssemblyProperties-->AssemblyInformation并选中“MakeAssemblyCOM-Visible”使用RegAsm.exe注册我的dll这会抛出Delphi异常,表明它无法连接dll。从非托管代码启用C#托管dll的使
我在让VisualStudio在Release模式下构建我的项目时遇到了问题...它给我错误提示,程序集格式错误。结果是引用了一些x86程序集而不是x64程序集。PresentationCore、System.Data等程序集。我尝试过的事情:Debug模式,任何CPU都可以正常构建。Debug模式,x64构建良好。Release模式,任意CPU失效Release模式,x64失败(这是我想要构建我的项目的组合)当我尝试删除x86引用并将其切换为x64引用时,问题就出现了。VisualStudio只是添加旧的x86引用而不是x64引用。例如:我删除了C:\Windows\Microsof
我有一个非常大的嵌套for循环,其中对float执行一些乘法和加法。for(inti=0;i这个循环占用了我大部分的处理时间,是一个瓶颈。如果我用C重写这个循环并从C#连接到它,我是否会看到任何速度提升?编辑:我更新了代码以显示s和c是如何生成的。此外,内部循环实际上是从0到i,尽管它可能对问题没有太大影响EDIT2:我在VC++中实现了该算法,并通过dll将其与C#链接,并且在启用所有优化后,速度比C#提高了28%。启用SSE2的论点特别有效。使用MinGW和gcc4.4编译只提供了15%的速度提升。刚刚试用了英特尔编译器,发现这段代码的速度提高了49%。
我在asp.net中写了一段代码,从文件中读取数据并绘制图表。它工作了,但是当我运行程序一段时间后,出现了这个异常"Anunhandledexceptionoftype'System.StackOverflowException'occurredinmscorlib.dll"在代码中的这条语句中:if(File.Exists(fName)) 最佳答案 您的函数可能无限次地递归调用自身。有时这会间接发生(您在BCL中调用一个方法,它会回调您的代码,这样会不断重复)。File.Exists可能不是罪魁祸首。发生错误时查看您的调用堆栈。