我正在尝试创建套接字服务器,我遇到的问题我不确定如何解决。
以下是我为project.json
使用的内容:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
},
"vtortola.WebSocketListener": "2.2.0.2"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "net45"
}
}
}
然后我有了这个基本脚本Server.cs
:
using System.Net;
using vtortola.WebSockets;
public class Server {
public static void Main(string[] args){
var server = new WebSocketListener(new IPEndPoint(IPAddress.Any, 8006));
var rfc = new vtortola.WebSockets.Rfc6455.WebSocketFactoryRfc6455(server);
server.Standards.RegisterStandard(rfc);
server.Start();
}
}
当我运行以下命令时:
master@ubuntu:~/Documents/Chat$ dotnet run
我收到以下错误:
将编译项目聊天(.NETCoreApp,版本= v1.0),因为缺少预期的输出 编译.NETCoreApp的聊天,版本= v1.0
/ usr / share / dotnet / dotnet compile-csc @ / home / master / Documents / Chat / obj / Debug / netcoreapp1.0 / dotnet-compile.rsp返回退出代码1
/home/master/Documents/Chat/Server.cs(8,26):错误CS0012:类型' IPEndPoint'在未引用的程序集中定义。您必须添加对程序集的引用,System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。
/home/master/Documents/Chat/Server.cs(10,26):错误CS0012:类型'对象'在未引用的程序集中定义。您必须添加对程序集&mcorlib的引用,版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。
/home/master/Documents/Chat/Server.cs(11,16):错误CS0012:类型'对象'在未引用的程序集中定义。您必须添加对程序集&mcorlib的引用,版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。编译失败。
0警告
3错误
时间00:00:02.6995789
答案 0 :(得分:6)
您无法将net45
导入netcoreapp1.0
,但这不起作用。当您指定imports
时,您基本上会说:“我知道这些软件包声称它们不兼容,但我保证它们是”。
包vtortola.WebSocketListener
仅支持net45
,因此您将无法在.Net Core上使用它(尽管如果您将框架更改为{仍然可以在dotnet CLI中使用它) {1}})。
但似乎有一个net451
包的测试版,它支持vtortola.WebSocketListener.dnx
(之前发布的.Net Core版本)。导入(以及dnxcore50
依赖项的portable-net45+win8
)应该有效。 project.json将如下所示:
Microsoft.Tpl.Dataflow
It seems vtortola.WebSocketListener
will also support RC2 directly in the future.
答案 1 :(得分:-1)
请将net451
作为数组元素导入“导入”部分并插入以下依赖关系Microsoft.NETCore.Portable.Compatibility: "1.0.1-*