C#里发现SuperSocket库不能发现命令的原因
Posted caimouse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#里发现SuperSocket库不能发现命令的原因相关的知识,希望对你有一定的参考价值。
在使用SuperSocket来写服务器的过程中,这是一个非常快速的开发方式,也非常好用。不过学习的曲线有点高,在使用的过程中经常会遇到各种各样的问题。
比如当下就遇到一个比较奇怪的问题,明明在项目里添加了命令,但是框架发现不了,这样就比较怪异了。
由于SuperSocket是使用反射的机制来查找命令,并且是跨不同的程序集。因此SuperSocket对命令的发现有一定要求,同时要满足下面几个条件:
1、继承CommandBase类。
2、采用public声明。
3、在EXE程序集里,如果不在就需要自行添加到参数里。
app.config配置如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>
<runtime>
<gcServer enabled="true"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
以上是关于C#里发现SuperSocket库不能发现命令的原因的主要内容,如果未能解决你的问题,请参考以下文章
SuperSocket与Netty之实现protobuf协议,包括服务端和客户端