将C#客户端应用程序连接到XSockets服务器时发生异常

将C#客户端应用程序连接到XSockets服务器时发生异常,c#,client,xsockets.net,C#,Client,Xsockets.net,我使用XSockets在XSockets服务器和现有的C#桌面客户端应用程序之间进行双向(基于web套接字)通信 我在现有的客户机应用程序中集成了与XSockets服务器通信的代码 目前,XSocket服务器作为一个单独的控制台应用程序启动。一开始很好,没有问题。 然后在我的C#客户端应用程序中使用以下伪代码块: XSocketClient client = new XSocketClient("ws://127.0.0.1:4509/MyController", "*", false)

我使用XSockets在XSockets服务器和现有的C#桌面客户端应用程序之间进行双向(基于web套接字)通信

我在现有的客户机应用程序中集成了与XSockets服务器通信的代码

目前,XSocket服务器作为一个单独的控制台应用程序启动。一开始很好,没有问题。 然后在我的C#客户端应用程序中使用以下伪代码块:

    XSocketClient client = new XSocketClient("ws://127.0.0.1:4509/MyController", "*", false);      //Error occurs right on execution of this line

    client.Open();
下面是抛出的异常快照

Exception of type 'XSockets.Plugin.Framework.Exceptions.ExportException' was thrown

Custom Message:  Failed to load exported interfaces in assembly Microsoft.Practices.EnterpriseLibrary.Validation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

Source: XSockets.Plugin.Framework

Stack Trace:  at XSockets.Plugin.Framework.Composable.SatifyImportsExports()

   at XSockets.Plugin.Framework.Composable.Initialize()

   at XSockets.Plugin.Framework.Composable.GetExport[T]()

Type:  System.IO.FileNotFoundException
注意:如果我创建一个新的C#windows窗体客户端项目并尝试执行此代码,它将正常执行,并成功连接到XSocket服务器。 意味着我现有的客户项目中有一些令人不安的东西

这个奇怪的异常可能是什么原因?有什么想法吗?谢谢


编辑:我注意到,如果我手动从我的Bin文件夹中删除Microsoft.Practices.EnterpriseLibrary.Validation DLL,则会引发相同类型的异常,但这次会出现不同的自定义消息。我的意思是,该错误与Bin文件夹中存在的(我现有应用程序的)其他DLL有关。

确定找到了我自己提出的问题的答案

可能有两件事与此问题相关:

  • Microsoft.Practices.EnterpriseLibrary.Validation.dll导致Bin=>Release/Debug文件夹出现问题。从Visual studio项目引用列表中,右键单击Microsoft.Practices.EnterpriseLibrary.Validation引用,单击属性并将[Copy Local]属性设置为false。XSocketsClient现在已成功连接到XSockets服务器,但我现有应用程序的某些其他逻辑仍需要企业库,该库为Copy Local==>false,无法用于.Net运行时,因此每当运行时遇到这些代码部分时,它都会显示异常

  • 为了解决后来由于删除企业库引用而遇到的问题,我再次添加了Microsoft.Practices.EnterpriseLibrary.Validation引用,还添加了另一个DLL Microsoft.Practices.EnterpriseLibrary.Common.DLL,并将其引用添加到我的客户端应用程序中

  • 现在,我的客户机应用程序可以很好地连接到XSocket服务器,而且在包含企业库引用时也不会出现任何问题


    企业库在运行时似乎需要一些基本的东西,它们位于第二个DLL中。

    Ok找到了我自己提出的问题的答案

    可能有两件事与此问题相关:

  • Microsoft.Practices.EnterpriseLibrary.Validation.dll导致Bin=>Release/Debug文件夹出现问题。从Visual studio项目引用列表中,右键单击Microsoft.Practices.EnterpriseLibrary.Validation引用,单击属性并将[Copy Local]属性设置为false。XSocketsClient现在已成功连接到XSockets服务器,但我现有应用程序的某些其他逻辑仍需要企业库,该库为Copy Local==>false,无法用于.Net运行时,因此每当运行时遇到这些代码部分时,它都会显示异常

  • 为了解决后来由于删除企业库引用而遇到的问题,我再次添加了Microsoft.Practices.EnterpriseLibrary.Validation引用,还添加了另一个DLL Microsoft.Practices.EnterpriseLibrary.Common.DLL,并将其引用添加到我的客户端应用程序中

  • 现在,我的客户机应用程序可以很好地连接到XSocket服务器,而且在包含企业库引用时也不会出现任何问题


    企业库在运行时似乎需要一些基本的东西,它们位于第二个DLL中。

    Ok找到了我自己提出的问题的答案

    可能有两件事与此问题相关:

  • Microsoft.Practices.EnterpriseLibrary.Validation.dll导致Bin=>Release/Debug文件夹出现问题。从Visual studio项目引用列表中,右键单击Microsoft.Practices.EnterpriseLibrary.Validation引用,单击属性并将[Copy Local]属性设置为false。XSocketsClient现在已成功连接到XSockets服务器,但我现有应用程序的某些其他逻辑仍需要企业库,该库为Copy Local==>false,无法用于.Net运行时,因此每当运行时遇到这些代码部分时,它都会显示异常

  • 为了解决后来由于删除企业库引用而遇到的问题,我再次添加了Microsoft.Practices.EnterpriseLibrary.Validation引用,还添加了另一个DLL Microsoft.Practices.EnterpriseLibrary.Common.DLL,并将其引用添加到我的客户端应用程序中

  • 现在,我的客户机应用程序可以很好地连接到XSocket服务器,而且在包含企业库引用时也不会出现任何问题


    企业库在运行时似乎需要一些基本的东西,它们位于第二个DLL中。

    Ok找到了我自己提出的问题的答案

    可能有两件事与此问题相关:

  • Microsoft.Practices.EnterpriseLibrary.Validation.dll导致Bin=>Release/Debug文件夹出现问题。从Visual studio项目引用列表中,右键单击Microsoft.Practices.EnterpriseLibrary.Validation引用,单击属性并将[Copy Local]属性设置为false。XSocketsClient现在已成功连接到XSockets服务器,但我现有应用程序的某些其他逻辑仍需要企业库,该库为Copy Local==>false,无法用于.Net运行时,因此每当运行时遇到这些代码部分时,它都会显示异常

  • 为了解决后来由于删除企业库引用而遇到的问题,我再次添加了Microsoft.Practices.Enter
     Composable.ClearPluginFilters();
     Composable.AddPluginFilter("XSockets.*.dll");