내 프로젝트에서 roslyn 버전 1.3.2를 사용하고 있습니다. 우선 내 코드 포맷하려면 다음 코드를 사용하려고 :roslyn에서 Formatter.Format (구문 노드, 작업 영역)을 사용하는 방법?
var root = CSharpSyntaxTree.ParseText("filepath").GetRoot();
var workspace=MSBuildWorkspace.Create();
node=Formatter.Format(root,workspace);
을 그리고 MSBuildWorkspace.Create()를 실행할 때 IOException가 슬로우 :
은 그 때 나는 Nuget에서 BuildTools를 설치했습니다. 하지만 MSBuildWorkspace.Create()를 호출하려고하면 IOException이 발생하지 않습니다. 나는 그것이 어떻게 작동하는지 전혀 모른다.파일이나 어셈블리를로드 할 수 없습니다 'Microsoft.Build, 버전 = 14.0.0.0, 문화 = 중립, PublicKeyToken = b03f5f7f11d50a3a '또는 종속성 중 하나입니다. 시스템이 지정된 파일을 찾을 수 없습니다. MSBuildWorkspace.Create() throws exception
은 내가 오류를 많이 얻을, 그래서 그것을 제거하고 모든 파일을 제거 :이 질문에 말했듯이
예외 나 경고 또는 오류가 전혀 없더라도 Formatter.Format을 호출 한 후에도 SyntaxNode가 여전히 형식화되지 않습니다.
한 가지 더, 저는 buildtools 또는 IOException없이 독립 실행 형 콘솔 응용 프로그램에서 일부 코드의 서식을 쉽게 지정할 수 있습니다. 그들은 같은 코드를 사용하고 있습니다. 이것이 내 프로젝트와 호환되지 않는 이유는 무엇입니까?
BuildTools 누 겟 패키지를 사용하면 올바른 방법을 사용할 수 있습니다.
정보를 제공해 주셔서 감사 드리며 일할 때 시도해 보겠습니다. –
작품입니다. 고맙습니다. –