【发布时间】:2017-12-13 02:49:25
【问题描述】:
我正在开发一个服务,给定一个 Swagger 定义的 URL,它使用 NSwag 为该服务生成一个 C# 代理。整个代理都包含在一个 C# 文件中。
我想使用 Roslyn 将生成的代码自动编译为 .NET Standard 2.0 DLL。这应该使用 CSharpCompilation 类在内存中完成。
为了确认这是可能的,我在 Visual Studio 2017 中创建了一个 .NET Standard 2.0 类库项目,并为 Newtonsoft.Json (10.0.3) 和 System.ComponentModel.Annotations (4.4.0) 添加了 NuGet 依赖项。我可以看到项目类型还引入了对 NETStandard.Library 的 SDK 依赖项。
我知道我不会使用项目文件通过 Roslyn 生成 DLL,但是,我正在努力找出生成相同 DLL 的等效步骤。
【问题讨论】:
-
你为什么不使用项目文件 - 它会更容易。
-
我还没有看到任何可以在项目文件中提供的示例,你能把我链接到一个吗?
-
只需使用 dotnet cli
-
我正在尝试使用 CSharpCompilation 库自动化该过程。因此代理代码在内存中生成和编译,然后保存为 DLL。也许我的问题不够清楚,我已经更新了。
标签: c# .net .net-core roslyn .net-standard