DllNotFoundException,但DLL就在那里

所以我使用SDK作为硬件随机数生成器,它提供了一个名为PsyREG.dll的dll用于与之交互,以及一些使用dll方法的c#源代码。 它过去曾奏效,但不知怎的,它已停止运作。 我的手有点束缚,因为我现在实际上无法访问有问题的设备,所以我不能尝试很多东西…… 然而,这是奇怪的事情。 dll在那里,它始终是同一个地方。 事实上,File.Exists(“PsyREG.dll”)返回true,我已经双重检查,这与提供的c#source导入它的方式完全相同,例如[DllImport(“PsyREG.dll”)]。 有任何想法吗?

如何将MEF导入和导出信息保存到磁盘

对于我在这个问题中描述的应用程序,我想使用MEF扫描可用的插件程序集,然后以序列化格式(例如一组字符串或内存流)存储所有可用的导入和导出信息。 这是必要的,因为我需要通过AppDomain边界传输导入和导出信息而不加载插件程序集(基本上我想延迟加载插件)。 我找到了一些参考文献,比如这个或者这个,但没有一个链接让我知道如何: 从程序集中提取所有导入和导出 序列化所有必需的导入/导出信息 然后再将序列化信息重新水合成import和出口。 我想我可以使用ReflectionModelServices类来创建导入/导出定义但仍然保留序列化和反序列化部分。 任何人都可以向我指出一些例子,文档或者提供关于如何进行这些步骤的建议吗?

如何从文件路径名中提取文件名?

我需要将所有文件从源文件夹移动到目标文件夹。 如何从文件路径名中轻松提取文件名? string newPath = “C:\\NewPath”; string[] filePaths = Directory.GetFiles(_configSection.ImportFilePath); foreach (string filePath in filePaths) { // extract file name and add new path File.Delete(filePath); }

如何浏览文件夹

我想设计一个包含浏览按钮的程序,我们可以浏览到所选文件夹并打开文件夹内的文件。 我需要一个参考和阅读,我可以解决我的问题? 喜欢我应该使用什么方法/类。 我不喜欢从MSDN上读书,因为我很难理解他们的理论。 仅供参考我仍然是C#的初学者。 非常感谢你 P / s:这是我从互联网上找到的代码,你可以浏览/创建新文件夹。 但我不知道为什么它使用Shell32.dll .. private void button1_Click(object sender, EventArgs e) { string strPath; string strCaption = “Select a Directory and folder.”; DialogResult dlgResult; Shell32.ShellClass shl = new Shell32.ShellClass(); Shell32.Folder2 fld = (Shell32.Folder2)shl.BrowseForFolder(0, strCaption, 0, System.Reflection.Missing.Value); if (fld == null) { dlgResult = DialogResult.Cancel; } else { strPath = […]

字符串与字符串

在C#中有String对象和string对象。 两者有什么区别? 有关使用哪种方法的最佳做法是什么?

如何使用C#中的Unity UNET获取本地网络中所有设备的IP地址?

大家! 我在一个本地网络中有很多设备。 我怎样才能获得所有这些设备的IP地址? 我想做这样的事情: using UnityEngine; using System.Collections; using System.Collections.Generic; public class Tools : MonoBehaviour { //get local ip address public string getIP() { string IP = “”; IP = Network.player.ipAddress; return IP; } //get all ip addresses in local network public List getIPArray() { List listIP = new List(); return listIP; } }

SqlConnection / SqlCommand线程安全吗?

我目前正在创建一个WCF Web服务。 作为其工作的一部分,遗憾的是需要进行一些相当密集的计算,但幸运的是,这些计算可以在对Web服务的调用之间共享。 实际上 – 我们只需要进行一次计算,所有后来的调用都可以获得好处。 但是,由于WCF没有共享应用程序状态,因此在单实例模式下设置WCF似乎是合乎逻辑的。 (每个客户端都需要进行一些计算,迫使我们重新计算它们,这可能是正常的,或者每次调用都是站不住脚的,这是不可能的) 但是,我不太熟悉保护multithreading的代码。 我一直在阅读它,因为我们的WCF代码都没有写入共享状态(除了计算位,这很容易保护)我几乎确信我不需要改变任何东西。 但是有一个障碍 – 我们使用SqlConnection和SqlCommand与我们的后端进行通信,我不确定我是否可以指望这些是线程安全的? 编辑:我应该澄清命令/连接始终是方法的本地。 我们正在谈论一种模式: using sqlConn = new SqlConnection(…) { try { sqlConn.Open() } catch () { throw new FaultException(); } var cmd = new SqlCommand(“Some SQL”, sqlConn); var reader = cmd.ExecuteReader(); //Read the stuff reader.Close(); //Return something } 结束编辑 我在MSDN上查找了SqlCommand类: http : //msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx其中说:“任何公共静态(在Visual […]

将位图保存到文件 – Xamarin,Monodroid

我正在尝试将位图图像保存到手机内的目录(图库)中。 该应用程序正在Xamarin中开发,因此代码是C#。 我似乎无法弄清楚如何创建目录,并保存位图。 有什么建议? public void createBitmap(View view){ view.DrawingCacheEnabled = true; view.BuildDrawingCache (true); Bitmap m_Bitmap = view.GetDrawingCache(true); String storagePath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath; Java.IO.File storageDirectory = new Java.IO.File(storagePath); //storageDirectory.mkdirs (); //save the bitmap //MemoryStream stream = new MemoryStream (); //m_Bitmap.Compress (Bitmap.CompressFormat.Png, 100, stream); //stream.Close(); try{ String filePath = storageDirectory.ToString() + “APPNAME.png”; FileOutputStream fos = new FileOutputStream (filePath); […]

如何获得串口设备ID?

在这个程序中,我首先尝试连接到availablelbe端口。 找到并连接后,我想读取连接的USB设备ID和供应商ID,我该怎么做? 亲切的问候 Program() { // Get a list of serial port names. string[] ports = SerialPort.GetPortNames(); // Search for the right port. foreach (string port in ports) { _serialPort = new SerialPort(port, 250000, Parity.None, 8, StopBits.One); _serialPort.Handshake = Handshake.None; _serialPort.ReadTimeout = 300; _serialPort.WriteTimeout = 300; try { _serialPort.Open(); break; } catch (Exception e) { […]

使用fiddler和Windows身份validation

我正在为我们的应用程序测试一些代理设置,但我需要测试需要Windows身份validation(或网络凭据)的代理。 为了进行测试,我将代理的凭据分配给网络凭据 System.Net.WebProxy proxy = new System.Net.WebProxy(“127.0.0.1”, 8888); proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; //proxy.Credentials = new System.Net.NetworkCredential(“1”, “1”); System.Net.WebRequest.DefaultWebProxy = proxy; 目前,我使用Fiddler并启用了“ Require Proxy Authentication规则。 如何配置Fiddler以便我可以使用Windows凭据而不是默认的“1”/“1”凭据?