![](/img/trans.png)
[英]Asp MVC WebApi & .Net Core build results in conflicting binaries
[英]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.