roslyn

    6

    1답변

    현재 Roslyn을 사용하는 구문 트리에서 3 방향 병합을 수행 중입니다. ClassDeclerationSyntax 노드에있는 모든 자식 사이에 일치하는 항목이 있고 자식을 병합 한 다음 해당 병합을 기반으로 새 트리를 만들려고합니다. O는 입력 ClassDeclerationSyntax이고 일치하는 유형은 MemberDeclerationSyntax 인 세

    6

    2답변

    이것은 휴대용 클래스 라이브러리에서 참조 할 수있는 dll을 생성하는 매우 간단한 코드이지만, 참조를 추가 할 때 휴대용이 아닌 참조를 허용하기 때문에 오류가 발생하기 쉽습니다. using System.IO; using Roslyn.Compilers; using Roslyn.Compilers.CSharp; namespace Ros1 { c

    2

    1답변

    두 개의 출력 dll이있는 솔루션이 있습니다 (실제로는 더 많지만 간단하게 유지할 수 있습니다). "특별 프로젝트"프로젝트는 "공통"프로젝트를 참조합니다. "특수"의 일부 파일을 구문 분석하고 생성 된 스텁 코드를 "공통"프로젝트에 배치하는 코드 생성기를 작성하려고합니다. 이 순환 참조를 처리하려면 컴파일하지 않는 코드에 대해 작업해야합니다. 그래서 저는

    3

    1답변

    유전 프로그래밍 유형의 시나리오에서 Roslyn API를 실험 해 왔습니다. 이러한 프로그래밍을 수행하는 좋은 방법 인 것처럼 보이지만 단순한 시나리오의 실제 구현은 그리 간단하지 않은 것 같습니다. 즉,이 API를 올바르게 사용하는 방법을 잘 이해하지 못했을 것입니다. string treeText = @"using System; us

    4

    1답변

    은 매우 일반적으로 사용됩니다 LiteralExpressionSyntax LiteralExpression(SyntaxKind kind, SyntaxToken token) SyntaxKind를 전달하는 이유는 무엇입니까? token 자체가 Kind 속성을 가지고 있는데 왜 Roslyn이이 속성을 사용하지 않습니까? 보다 정확하게는, 그 후, 사용자 제공

    3

    2답변

    Roslyn 관련 문서가 약간 부족한 것 같습니다. 좋은 종합 문서를 찾을 수 없습니다. 내가 기본적으로 수행하려고하는 새 어셈블리에 사본 기존의 API (.DLL)의 공개 표면 입니다 (! 소스 코드를 .cs 파일을 작성해야합니다)와 동시에 다양한 만들기 생성 된 코드에 tranformation을 전달합니다 (래퍼 클래스 만들기). 정말

    4

    1답변

    그냥 Roslyn을 발견 했으니 참아주십시오. 내가 예를 들어 추가 한 Statment 포함하도록 내 클래스의 상단에있는 사용 지침을 업데이 트하려는 : using System; public class Foo { } 이 될해야 : using System; using Custom.Bar; public class Foo { } 내가 오버

    1

    1답변

    나는 메타 프로그래밍의 맥락에서 Roslyn을 실험했지만 데이터베이스에 ISolution 또는 IProject 객체를 지속하는 데 어려움을 겪었다. 다음은 ISolution 객체를 바이트 배열로 직렬화 한 다음 객체로 다시 가져 오는 작업입니다. 나는 그 클래스에 부딪쳐서 직렬화 가능 예외로 표시되지 않는다. 나는 이것에 대해 어떤 생각을해도 개방적이다.

    4

    1답변

    클래스 (또는 기본 유형 중 하나)에 특정 속성이 있는지 여부를 감지하기 위해 ICodeIssueProvider을 구현하려고합니다. public IEnumerable<CodeIssue> GetIssues(IDocument document, CommonSyntaxNode node, CancellationToken cancellationT

    1

    1답변

    나는 런타임 컴파일 된 클래스를 가지고있다. 내가 런타임에 컴파일하고 내 프로젝트에서 사용하고자하는 일류 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Program.Bu