gpt4 book ai didi

c# - 使用 Roslyn 和 .NET Core 生成 C# 代码

转载 作者:太空狗 更新时间:2023-10-29 21:08:08 26 4
gpt4 key购买 nike

有没有办法使用带有 .NET Core 的 Roslyn 生成 C# 代码。我试过使用 Microsoft.CodeAnalysis.CSharp 包中的 SyntaxFactory。我目前遇到的问题是从中获取格式正确的代码作为文本。

到目前为止我见过的所有样本都使用类似的东西

var ws = new CustomWorkspace();
ws.Options.WithChangedOption (CSharpFormattingOptions.IndentBraces, true);
var code = Formatter.Format (item, ws);

这里的问题是,它们都使用目前与 .NET Core 不兼容的包 Microsoft.CodeAnalysis.CSharp.Workspaces。使用 Roslyn 作为 .NET Core 的代码生成器是否有任何替代路线或变通方法?

最佳答案

Microsoft.CodeAnalysis.CSharp.Workspaces 1.3.2 支持netstandard1.3,因此它应该与.Net Core 兼容。但它依赖于Microsoft.Composition 1.0.27,它只支持portable-net45+win8+wp8+wpa81。此框架名称与 .Net Core 兼容,但前提是您将其导入到您的 project.json 中。

这意味着要使这项工作正常进行,project.json 的相关部分应如下所示:

"dependencies": {
"Microsoft.CodeAnalysis.CSharp.Workspaces": "1.3.2"
},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
}
},
"imports": "portable-net45+win8+wp8+wpa81"
}
}

关于c# - 使用 Roslyn 和 .NET Core 生成 C# 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39197663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com