0

我正在使用带有.NET 编译器平台 SDK的代码修复模板的分析器来创建我的 Roslyn 代码分析器。该模板创建了一个解决方案,其中实际的分析器项目是一个多目标项目。(我没有找到修改它的方法。)

现在我想做一些简单的事情:在初始化我的分析器时访问一个包含一些设置数据的文件。

实际上,事实证明,我无法创建 TextReader,因为 .net 4x 和 .net core 使用不同类型的命名空间,例如System.IO.File在上述两种情况下位于不同的程序集中。我应该安装一个 NuGet 包(System.IO.FileSystem)来访问System.IO.File,但我不能这样做,因为给定的包不是多目标的。

不工作:

using (TextReader reader = new File.OpenText(@"filepath"))
{
    ....
}

...因为 File 需要 NuGet 包,我无法安装。

也不起作用:

using (TextReader reader = new StreamReader(@"filepath"))
{
    ....
}

...因为 StreamReader 没有带有单个字符串参数的签名,所以只能访问基于流的签名。

现在我很困惑。如何在这样的多目标项目中使用 TextReader?

4

0 回答 0