Ask Your Question
0

session과 accountmanager에 관해 몇가지 질문이 있습니다.

asked 2020-02-20 11:29:54 +0900

aden gravatar image

updated 2020-02-20 12:01:22 +0900

Jinuk gravatar image
  1. AccountManager.CheckAndSetLoggedIn을 동시에 호출했을때 race condition 발생 여부
  2. AccountManager.SetLoggedOut : 호출 안하면 계속 로그인 상태인가? session close시 AccountManager에서 삭제되나, 삭제된다면 조건은 어떻게 되나요?
  3. 현재 개발중인 프로젝트는 http와 socket을 혼합해서 사용합니다. 클라이언트에서 두개의 커넥션을 가지고 실행할텐데 같은 세션 아이디를 가지나요? 아니면 각각의 다른 세션 아이디를 사용하나요? (클라는 아이펀 라이브러리를 사용합니다)
  4. 현재 개발 환경은 ubuntu 16.04에 코드를 두고 windows에서 vscode로 개발을 진행중입니다. 그런데 어시스트가 제대로 동작하지 않아 혹시나 vscode를 처음 실행할때 발생하는 에러와 관련있나해서 문의 드립니다. 아래 에러 콜스택입니다.

    Starting OmniSharp server at 2/20/2020, 2:17:58 AM Target: /works/tapcook/TCServer/dev/game-source/mono/game.sln

    OmniSharp server started. Path: /home/ubuntu/.vscode-server/extensions/ms-vscode.csharp-1.21.11/.omnisharp/1.34.11/run PID: 16065

    [info]: OmniSharp.Stdio.Host Starting OmniSharp on ubuntu 16.4 (x64) [info]: OmniSharp.Services.DotNetCliService DotNetPath set to dotnet [info]: OmniSharp.MSBuild.Discovery.MSBuildLocator Located 1 MSBuild instance(s) 1: StandAlone 16.3 - "/home/ubuntu/.vscode-server/extensions/ms-vscode.csharp-1.21.11/.omnisharp/1.34.11/omnisharp/.msbuild/Current/Bin" [info]: OmniSharp.MSBuild.Discovery.MSBuildLocator MSBUILD_EXE_PATH environment variable set to '/home/ubuntu/.vscode-server/extensions/ms-vscode.csharp-1.21.11/.omnisharp/1.34.11/omnisharp/.msbuild/Current/Bin/MSBuild.dll' [info]: OmniSharp.MSBuild.Discovery.MSBuildLocator Registered MSBuild instance: StandAlone 16.3 - "/home/ubuntu/.vscode-server/extensions/ms-vscode.csharp-1.21.11/.omnisharp/1.34.11/omnisharp/.msbuild/Current/Bin" CscToolExe = csc.exe MSBuildToolsPath = /home/ubuntu/.vscode-server/extensions/ms-vscode.csharp-1.21.11/.omnisharp/1.34.11/omnisharp/.msbuild/Current/Bin CscToolPath = /home/ubuntu/.vscode-server/extensions/ms-vscode.csharp-1.21.11/.omnisharp/1.34.11/omnisharp/.msbuild/Current/Bin/Roslyn BypassFrameworkInstallChecks = true MSBuildExtensionsPath = /home/ubuntu/.vscode-server/extensions/ms-vscode.csharp-1.21.11/.omnisharp/1.34.11/omnisharp/.msbuild [info]: OmniSharp.Cake.CakeProjectSystem Detecting Cake files in '/works/tapcook/TCServer/dev/game-source/mono'. [info]: OmniSharp.Cake.CakeProjectSystem Could not find any Cake files [info]: OmniSharp.MSBuild.ProjectSystem Detecting projects in '/works/tapcook/TCServer/dev/game-source/mono/game.sln'. [info]: OmniSharp.MSBuild.ProjectManager Queue project update for '/works/tapcook/TCServer/dev/game-source/mono/game.csproj' [info]: OmniSharp.Script.ScriptProjectSystem Detecting CSX files in '/works/tapcook/TCServer/dev/game-source/mono'. [info]: OmniSharp.Script.ScriptProjectSystem Could not find any CSX files [info]: OmniSharp.WorkspaceInitializer Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0 [info]: OmniSharp.MSBuild.ProjectManager Loading project: /works/tapcook/TCServer/dev/game-source/mono/game.csproj [info]: OmniSharp.WorkspaceInitializer Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.RenameWorkspaceOptionsProvider, Order: 100 [info]: OmniSharp.WorkspaceInitializer Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.ImplementTypeWorkspaceOptionsProvider, Order: 110 [info]: OmniSharp.WorkspaceInitializer Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.EditorConfigWorkspaceOptionsProvider, Order: 200 [info]: OmniSharp.WorkspaceInitializer Configuration finished. [info]: OmniSharp.Stdio.Host Omnisharp server running using Stdio at location '/works/tapcook/TCServer/dev/game-source/mono' on host 15960. [fail]: OmniSharp.MSBuild.ProjectLoader The reference assemblies for .NETFramework,Version=v4.0 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks [warn]: OmniSharp.MSBuild.ProjectManager ...

(more)
edit retag flag offensive close merge delete

2 answers

Sort by » oldest newest most voted
0

answered 2020-02-21 16:36:09 +0900

jwlee gravatar image

updated 2020-02-21 16:36:41 +0900

안녕하세요.

VSCode C# 원격 개발에 대한 문의 답변 내용입니다.

먼저, VSCode 를 사용해서 아이펀 엔진 프로젝트를 원격으로 개발하기 위해서는 다음 두가지 Extension 이 필요합니다.

  • C# (Microsoft)
  • Mono Debug (Microsoft)

그런데, 이 중 C# Extension 이 버전 1.21.11부터 최소 mono 6.4 버전을 사용하도록 변경 되면서 아이펀엔진이 사용하는 mono 5.20 을 지원하지 않게 되었습니다.

따라서, VSCode -> Extensions -> C# -> Install another version 에서 1.21.10 버전으로 지정 해 주시기 바랍니다.

VSCode 를 다시 실행하시면 설치 과정에서 발생했던 에러 메시지들이 사라지고, Intellisense 기능을 사용하실 수 있을 것입니다.

.NETFramework,Version=v4.0 were not found 에러는 Remote 호스트에 DotNet Framework 4.0 이 설치되어 있지 않다는 에러인데, 아이펀 엔진 프로젝트를 사용하는 데에는 문제가 없는 것으로 보입니다.

C# Extension Setting -> Suppress Dotnet Install Warning 설정을 체크 해 주시면 없어질 것 입니다.

edit flag offensive delete link more

Comments

안녕하세요. 빠른 답변 감사드립니다. 말씀하신대로 진행했는데 동작하지않아 새로운 인스턴스를 만들어 처음부터 다시 세팅한 후 새로운 프로젝트를 만들어 테스트를 했습니다. 헌데 똑같이 funapi에 대한 intellisense는 동작하지 않았습니다. C#의 기본적인 문법에서는 잘동작하는데 funapi 관련해서는 동작을 하지않네요. 빌드와 디버깅은 잘됩니다. 다만 funapi 에 어떤 클래스나 매서드가 있는지 알 수 없어서 문서를 보면서 개발하는게 불편해 질문을 드렸습니다. 혹시 이런 기능은 원래 안되는건가요?

aden gravatar imageaden ( 2020-02-24 13:58:19 +0900 )edit

omnisharp 로그엔 여전히 에러 로그가 찍히는데 말씀하신대로 설정한 후 에러 메시지가 달라지긴 했습니다. 혹시나해서 첨부합니다. The "ResolveAssemblyReference" task failed unexpectedly. System.NotImplementedException: The method or operation is not implemented.

aden gravatar imageaden ( 2020-02-24 14:00:19 +0900 )edit

funapi의 어떤 클래스에 대해서 intellisense 가 동작하지 않는지 알려주시면 확인 해 보겠습니다.

jwlee gravatar imagejwlee ( 2020-02-24 14:05:55 +0900 )edit

모두 안됩니다. 확인해보니 funapi.dll 뿐만이 아니라 참조에 추가된 모든 dll에 intellisense가 동작하지 않습니다.

aden gravatar imageaden ( 2020-02-24 14:25:34 +0900 )edit
0

answered 2020-02-20 11:57:28 +0900

Seunghyun gravatar image

updated 2020-02-20 11:59:20 +0900

안녕하세요.

아이펀팩토리입니다.

A. AccountManager.CheckAndSetLoggedIn을 동시에 호출했을때 race condition 발생 여부

=> 발생하지 않습니다. 동시에 호출하더라도 하나만 로그인에 성공합니다.

B. AccountManager.SetLoggedOut : 호출 안하면 계속 로그인 상태인가? session close시 AccountManager에서 삭제되나, 삭제된다면 조건은 어떻게 되나요?

=> SetLoggedOut 을 호출하지 않으면 계속 로그인 상태가 유지됩니다. Session Close 핸들러에서 AccountManager.SetLoggedOutAsync(session) 등을 호출하여 로그아웃 처리를 해야합니다.

C. 현재 개발중인 프로젝트는 http와 socket을 혼합해서 사용합니다. 클라이언트에서 두개의 커넥션을 가지고 실행할텐데 같은 세션 아이디를 가지나요? 아니면 각각의 다른 세션 아이디를 사용하나요? (클라는 아이펀 라이브러리를 사용합니다)

=> 동일한 세션 아이디를 사용합니다. 따라서 서버에서는 같은 세션으로 인식됩니다.

D. 현재 개발 환경은 ubuntu 16.04에 코드를 두고 windows에서 vscode로 개발을 진행중입니다. 그런데 어시스트가 제대로 동작하지 않아 혹시나 vscode를 처음 실행할때 발생하는 에러와 관련있나해서 문의 드립니다.

=> 확인하여 다시 답변 드리겠습니다.

감사합니다.

edit flag offensive delete link more

Comments

마지막 질문에 몇가지 더 추가해서 말씀드리면 C#으로 개발중이라서 프로젝트 생성시 --csharp 옵션 추가했습니다. 이후에 환경설정은 --type=vscode 했구요 빌드도 잘되고 디버깅도 됩니다. 다만 아이펀 dll의 함수나 변수를 찾을수 없어 api 문서를 보고 개발하는 상황입니다. .NETFramework,Version=v4.0 were not found 란 에러가 나는데 ubuntu에 dotnet core 3.x는 설치되어 있습니다. 헌데 설치 할 수 없는 .NETFramework 에러가 나서 어찌해야 될지..

aden gravatar imageaden ( 2020-02-20 15:40:24 +0900 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2020-02-20 11:29:54 +0900

Seen: 48 times

Last updated: Feb 21