.net core 将T4与.NET Core 2.0一起使用,并从模板中引用包

.net core 将T4与.NET Core 2.0一起使用,并从模板中引用包,.net-core,t4,.net Core,T4,我尝试在.NETCore2.0应用程序项目中使用T4,但似乎T4无法识别包含的名称空间。例如,在安装Microsoft.AspNetCore.All软件包并具有以下代码段后: <#@ import namespace="Microsoft.Extensions.Configuration" #> <#+ public class ConfigurationHelper { public string ReadConfig(){

我尝试在.NETCore2.0应用程序项目中使用T4,但似乎T4无法识别包含的名称空间。例如,在安装Microsoft.AspNetCore.All软件包并具有以下代码段后:

<#@ import namespace="Microsoft.Extensions.Configuration" #>

<#+ 

public class ConfigurationHelper
{

    public string ReadConfig(){
        
        var builder = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("Configuration\\CodeGenerationConfig.json");

            IConfigurationRoot  Configuration = builder.Build();
            
            return Configuration["ConnectionString:Server"];
        }
}

#>

我得到了一个错误:

找不到类型或命名空间名称“IConfigurationRoot” (是否缺少using指令或程序集引用?)

甚至我也尝试使用汇编指令:

但发生了以下错误:

System.IO.FileLoadException:无法加载文件或程序集 'file:///C:\节目 Files\dotnet\store\x64\netcoreapp2.0\microsoft.extensions.configuration\2.0.0\lib\netstandard2.0\microsoft.extensions.configuration.dll' 或者它的一个依赖项。无法创建强名称签名 已证实的组件可能已被篡改,或被延迟 已签名但未使用正确的私钥完全签名。(例外情况 来自HRESULT:0x80131045)

因此,问题是如何从T4模板中引用.NET核心包

附言:我试过了,但它还不支持.NET内核。

更新:

Visual Studio 2017和Xamarin Studio现在支持在设计时处理*.tt文件

但如果您希望在dotnet核心(netstandard2.0)中处理T4模板,则可能仍然有用
IDE之外的项目(例如,在Linux或带有Visual Studio代码的macOS中)

我想T4还没有适应.net内核。您在这方面找到解决方案了吗