如何建立两个二进制文件.net核心2控制台应用程序

如何建立两个二进制文件.net核心2控制台应用程序

问题描述:

我是新的.Net核心和C锐利。我想在同一个命名空间中构建两个二进制文件。这是两个控制台应用程序,一个服务器和一个客户端。我想分享一些对象,如“分数”,并且这样想。其实我已经创建了两个应用程序(通过“dotnet新控制台”命令),但我可以改变并重新开始。我正在使用简单的文本编辑器(emacs)在Docker容器中工作。没有视觉工作室或视觉工作室代码:)如何建立两个二进制文件.net核心2控制台应用程序

这是可能与否?

编辑: 好吧,我会尽量做得更精确。我必须创建两个程序:一个是服务器,另一个是客户端。客户必须连接才能玩游戏(多人游戏)。我是否必须创建两个不同的项目(使用它们自己的名称空间/类型/测试),或者我可以创建一个简单的项目(只需调用一次“dotnet new console”命令)并共享相同的命名空间,在服务器和客户端之间共享一些类型(比如分数课)和考试?这里是我的CURENT目录(客户端和服务器通过了“DONET新的控制台”命令创建两个目录:

├── README.md 
├── client 
│ ├── client.csproj 
│ ├── obj 
│ │ ├── client.csproj.nuget.cache 
│ │ ├── client.csproj.nuget.g.props 
│ │ ├── client.csproj.nuget.g.targets 
│ │ └── project.assets.json 
│ └── srcs 
│  ├── Program.cs 
│  └── Types 
│   └── user.cs 
├── docs 
│ ├── rfc 
│ │ └── donotremove 
│ ├── text 
│ │ └── donotremove 
│ └── uml 
│  └── donotremove 
├── server 
│ ├── obj 
│ │ ├── project.assets.json 
│ │ ├── server.csproj.nuget.cache 
│ │ ├── server.csproj.nuget.g.props 
│ │ └── server.csproj.nuget.g.targets 
│ ├── server.csproj 
│ └── srcs 
│  ├── Program.cs 
│  └── Types 
│   └── server.cs 
└── tests 
    └── tests.cs 

如果我理解正确的问题,所有的u需要做的是改变每个类的命名空间。

例如,让我们说你的二进制文件的一个被称为Yourappname.Server等被称为Yourappname.Client。 如果我们假设共同命名空间u需要分享的是Yourcompany.Yourapp。然后,只需改变你的类的命名空间Yourcompany.Yourapp它会做的工作。

还有一个提示..你甚至可以使用using语句使用import语句在其他命名空间中导入类,或者可以使用具有命名空间的完全限定类名。

using Yourcompany.Yourapp; 

Yourcompany.Yourapp.Score score =new Yourcompany.Yourapp.Score(); 

总之在这两种方案,你需要添加到binaries.You引用可以做到这一点使用的.csproj文件。

<ItemGroup> 
    <ProjectReference Iclude="path to .csproj" /> 
</ItemGroup> 
+0

我编辑我的帖子更加精确。感谢您的帮助,更加可靠吗? – Oscar

+0

太棒了。因此,两个项目(自己的命名空间/ .csproj文件/测试/类型)可以吗? – Oscar

+0

我看到的最佳选择是添加第三个项目。在该项目中,您可以在那里添加这些常见类型。 – nandithakw