C# VB.Net代碼互轉 使用Rosyln 支持本地轉換 支持匿名錶達式等等

http://converter.telerik.com/ 應該是目前最好的在線c# vb.net代碼互轉網站,不知道有沒有人注意到它的報錯,比如


CONVERSION ERROR: Code could not be converted. Details:

----- Exception 1 of 1 -----
System.NotImplementedException: Microsoft.CodeAnalysis.VisualBasic.Syntax.PropertyStatementSyntax not implemented!
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.NodesVisitor.DefaultVisit(SyntaxNode node)
   at Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxVisitor`1.VisitPropertyStatement(PropertyStatementSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.PropertyStatementSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.NodesVisitor.<ConvertMembers>b__11_0(StatementSyntax m)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.NodesVisitor.<ConvertMembers>d__11.MoveNext()
   at Microsoft.CodeAnalysis.CSharp.SyntaxFactory.List[TNode](IEnumerable`1 nodes)
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.NodesVisitor.VisitClassBlock(ClassBlockSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.ClassBlockSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.NodesVisitor.<VisitCompilationUnit>b__8_1(StatementSyntax m)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at Microsoft.CodeAnalysis.CSharp.SyntaxFactory.List[TNode](IEnumerable`1 nodes)
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.NodesVisitor.VisitCompilationUnit(CompilationUnitSyntax node)
   at Microsoft.CodeAnalysis.VisualBasic.Syntax.CompilationUnitSyntax.Accept[TResult](VisualBasicSyntaxVisitor`1 visitor)
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.Convert(VisualBasicSyntaxNode input, SemanticModel semanticModel, Document targetDocument)
   at RefactoringEssentials.CSharp.Converter.VisualBasicConverter.ConvertText(String text, MetadataReference[] references)

Please check for any errors in the original code and try again.

注意調用堆棧最底層的方法”RefactoringEssentials.CSharp.Converter.VisualBasicConverter.ConvertText(String text, MetadataReference[] references)”,通過這個方法,我們大致可以知道這是由一個名稱爲RefactoringEssentials的程序集實現的,google搜一下,可以找到https://github.com/icsharpcode/RefactoringEssentials這個網頁,不過我並沒有發現”RefactoringEssentials.CSharp.Converter.VisualBasicConverter.ConvertText(String text, MetadataReference[] references)”這個方法。我們查看下commits,可以發現這樣一條

Remove code for Code Converter in RE, Unit Tests and VSIX (basically returned it to state of release 3.2)
@christophwille
christophwille committed on 21 Dec 2017

再往前的一條

Remove code converter web app. Moved to https://github.com/icsharpcode/CodeConverter/
@christophwille
christophwille committed on 21 Dec 2017

很好,我們以及找到了代碼互轉項目的最新的源碼:https://github.com/icsharpcode/CodeConverter

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章