繁体   English   中英

如何构建两个二进制.NET Core 2控制台应用程序

[英]How to build two binaries .net core 2 console app

我是.NET Core和C Sharp的新手。 我想在同一个命名空间中建立两个二进制文件。 它是两个控制台应用程序,一台服务器和一个客户端。 我想分享一些像“分数”的对象,然后这样思考。 实际上,我已经创建了两个应用程序(通过“ dotnet新控制台”命令),但是我可以更改并重新启动。 我正在使用简单的文本编辑器(emacs)在docker容器中工作。 那里没有Visual Studio或Visual Studio代码:)

有没有可能?

编辑 :好的,我会尝试更精确。 我必须创建两个程序:一个是服务器,另一个是客户端。 必须连接客户端才能玩游戏(多人游戏)。 我是否必须创建两个不同的项目(具有自己的名称空间/类型/测试),还是可以创建一个简单的项目(只需一次调用“ dotnet new console”命令)并共享相同的名称空间,在服务器和客户端之间共享某些类型(如分数班)和测试? 这是我的当前目录(客户端和服务器是通过“ donet new console”命令创建的两个目录:

├── 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

如果我正确理解了这个问题,那么您要做的就是更改每个类的名称空间。

例如,假设您的二进制文件之一称为Yourappname.Server ,另一个称为Yourappname.Client 而且,如果我们假设您需要共享的通用命名空间是Yourcompany.Yourapp 然后只需将类的命名空间更改为Yourcompany.Yourapp完成工作。

还有一个技巧。您甚至可以使用using语句使用import语句在其他命名空间中导入类,或者可以将完全限定的类名与命名空间一起使用。

using Yourcompany.Yourapp;

要么

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

无论如何,在这两种情况下,都需要添加对二进制文件的引用。您可以使用.csproj文件来实现。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM