Tag: dll

获取进程的所有DLLS

我想获得为给定进程加载的所有dll的列表。 我目前正在使用.NET Framework 4.0 。 我知道尝试通过Process.Modules属性访问所有托管dll时存在错误 。 (仅列出非托管dll)。 我需要一种以编程方式检索所有这些dll的方法。 Process[] myProcess = Process.GetProcessesByName(“MyProcess”); if(myProcess.Count() > 0) { foreach (ProcessModule processModule in myProcess[0].Modules) //get information } 编辑:我感兴趣的过程不在当前的AppDomain中。

以编程方式确定是否安装了COM库(.DLL)

在C#中是否有一种编程方式来确定是否已安装特定的COM DLL? 或者这是扫描classId的注册表的问题?

RegAsm真正做了什么? 文件在哪里被复制?

我们有一个基于spicIE的IE插件,目的是连接到一些外部设备。 为了连接这些外部设备,另一家公司开发了他们的令牌和DLL。 我们需要有一些ActiveX和DLL来通过令牌进行身份validation。 问题是我们为IE开发的插件,最后一部分有一个install.bat文件,它运行一个RegAsm并注册DLL,然后在IE中查看该插件(或其更改)。 从IE运行插件时,我们的代码找不到一些身份validation所需的DLL(将其命名为x.dll)。 注册的DLL在哪里复制? 真的被复制了吗? 我需要在我的插件的DLL存在的文件夹中有x.dll。

C#更新DLL而不重新编译项目

我编写了一个小程序,引用了一个将包含在安装文件中的dll文件。 我仍然需要一种更新dll的方法(如果我更改了一些function),而无需再次重新下载整个程序,只需替换dll文件… 这可能吗 ? 我只是在某处读到我必须使用新的dll版本更新xml文件,但我真的需要完整的步骤才能成功更新dll .. 任何帮助真的很感激..非常感谢 更新 我真的不知道该说些什么……两种方式都非常棒…非常感谢帮助…我会测试它们并在这里写下答案…… 再次感谢 :)

无论我如何尝试,System.Web.Http引用默认为4.0版本

我在我的项目中使用BreezeApi NuGet包。 它在Visual Studio 2013中。 我收到这个错误。 错误41程序集’Breeze.WebApi2,Version = 1.4.0.0,Culture = neutral,PublicKeyToken = f6085f1a45e2ac59’使用’System.Web.Http,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’,其版本高于引用程序集’System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35′ 我不知道为什么我的项目不断引用4.0版本。 我试过的事情: 我从我的项目中删除了system.web.http 4.0的引用,并浏览到5.0 DLL文件位置。 一旦我添加它并返回到解决方案资源管理器,右键单击system.web.http dll,它显示4.0.0.0。 我在web.config中添加了程序集绑定,如下所示 我该如何解决这个问题?

“无法加载文件或程序集’XXX.YYY’或其依赖项之一。 该系统找不到指定的文件。”

我有一个.net visual studio解决方案,包含许多项目(类库和Web应用程序)。 我做了一些refractoring,它在项目之间移动文件,创建新项目,删除未使用的项目,并重命名一些现有项目。 解决方案构建没有问题,但是当我运行Web应用程序时,会发生以下exception: “无法加载文件或程序集’XXX.YYY’或其中一个依赖项。系统找不到指定的文件。” 这个名为XXX.YYY的项目在refractoring中删除了一个名为XXX.YYY的dll。 但这不适用于应用程序中的任何位置。 我删除了web应用程序obj目录和bin文件夹并重建但仍然会发生。 任何人都有任何想法,这可能发生,任何提示? 更新: 更新我的问题。 我将代码放在另一台计算机上并从那里运行它,它构建并成功运行,没有出现此问题。 所以这让我觉得问题在于我的PC而不是代码库。 也许我的电脑上有缓存的东西。 我确实在“C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files”中删除了我的临时文件,但没有运气。 所以其他任何可能被缓存或任何其他原因在我的PC上发生。 进一步更新 关于此的另一个更新。 我在其他开发人员机器上运行了相同的代码,并没有运行它的问题。 所以一定要在我的机器上做点什么! 我们机器上唯一不同的是我在经典模式下使用应用程序的应用程序池运行IIS7。 另一个开发人员正在运行IIS6。 2件新信息。 首先在我的web.config中的httpmodules中,我必须在添加之前删除自定义的http模块。 其他开发人员不必这样做。 其次,我已经能够修复“无法加载文件或程序集’XXX.YYY’或其中一个依赖项”问题通过“hack”,这只是一个短期修复,通过在我的项目中创建一个名为XXX的类库.YYY并包括要查找的类,这些都是自定义控件,即。 inheritance自System.Web.UI.WebControls.WebControl。 还有什么想法……

如何使用C#中的struct pointer参数调用C ++函数?

还有一个function,它还没有工作。 我基本上是通过使用P / Invoke从C#调用一些C ++函数。 有问题的function确实向显示激光设备查询一些设备相关信息,例如最小和最大扫描速率以及每秒最大点数。 有问题的function是: int GetDeviceInfo(DWORD deviceIndex, DeviceInfo* pDeviceInfo); 这是我给出的C ++头文件。 这是非常简短的C ++ SDK描述的链接 。 我没有重建DLL文件的源代码,我也没有* .pdb文件(制造商无法提供): #pragma once #ifdef STCL_DEVICES_DLL #define STCL_DEVICES_EXPORT extern “C” _declspec(dllexport) #else #define STCL_DEVICES_EXPORT extern “C” _declspec(dllimport) #endif enum SD_ERR { SD_ERR_OK = 0, SD_ERR_FAIL, SD_ERR_DLL_NOT_OPEN, SD_ERR_INVALID_DEVICE, //device with such index doesn’t exist SD_ERR_FRAME_NOT_SENT, }; #pragma pack […]

需要Hashtable和Arraylist

我试图在我的Windows 7 Phone应用程序中使用其他人的C#类。 这些类使用Hashtable类型的对象。 有问题的文件有 using System.Collections; 在顶部,所以我假设它是它想要的Hashtable对象。 当我尝试构建我的解决方案时,我得到的错误是找不到类型或命名空间名称’Hashtable’,是否缺少using指令或程序集引用。 在微软的Hashtable文档中,我看到它表示Assembly:mscorlib 但是如果我尝试通过Project> Add Reference添加mscorlib,VS说它无法添加它,因为它是由构建系统自动引用的。 我错过了什么?

在生产数据库上部署应用程序时无法加载文件或程序集’System.Data错误

问题:将我的应用程序部署到生产数据库时,出现以下错误: Could not load file or assembly ‘System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’ or one of its dependencies. The system cannot find the file specified. at ConsoleApplication2.Database.DBConnect.Initialize(String username, String password, String IP) at ConsoleApplication2.Database.DBConnect..ctor(String username, String password, String IP) in C:\Users\Vincent\Documents\Visual Studio 2008\Projects\ConsoleApplication2\ConsoleApplication2\DBConnect.cs:line 26 at ConsoleApplication2.Database..ctor() in C:\Users\Vincent\Documents\Visual Studio 2008\Projects\ConsoleApplication2\ConsoleApplication2\Database.cs:line 20 at ConsoleApplication2.Main..ctor() in C:\Users\Vincent\Documents\Visual Studio 2008\Projects\ConsoleApplication2\ConsoleApplication2\Main.cs:line […]

如何在dll级别阅读app.config。

我在一个解决方案中有一个控制台应用程序项目和库项目(dll)。 库项目有app.config文件,我存储了一些我在库中使用的键值对。 控制台应用程序引用此dll。 我在控制台应用程序中有另一个app.config文件,我有控制台应用程序的设置。 当我运行程序时,我的library.dll总是从控制台应用程序引用app.config 。 我想分开每个dll的责任,所以我想要一个dll总是引用它自己的 app.config文件而不是调用应用程序的文件。 在这种情况下, library.dll应该使用自己的 app.config,而不是调用应用程序。 我该怎么做到这一点?