.net core 将T4与.NET Core 2.0一起使用,并从模板中引用包
我尝试在.NETCore2.0应用程序项目中使用T4,但似乎T4无法识别包含的名称空间。例如,在安装Microsoft.AspNetCore.All软件包并具有以下代码段后:.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(){
<#@ 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内核。您在这方面找到解决方案了吗