【发布时间】:2016-10-05 16:45:08
【问题描述】:
我有一个 .NET Core 类库项目,我想使用设计时 T4 模板。
模板编译正确,但是当我尝试使用反射时,它会引发错误
Running transformation: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at Microsoft.VisualStudio.TextTemplating91FD7CCD92D7361F64265F0C5C220E81E842FC4A778C4D459155BDB3A79CCB52D465743E28886D98FF13456BEB0A44361D5237CFADD6B4BDEEED323B315D2F62.GeneratedTextTransformation.TransformText()
at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
at CallSite.Target(Closure , CallSite , Object )
at Microsoft.VisualStudio.TextTemplating.TransformationRunner.PerformTransformation()
这是我的代码:
<#@ output extension=".cs" hostspecific="false" #>
<#@ assembly name="$(TargetDir)$(Configuration)\netstandard1.6\MyProject.dll" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Reflection" #>
<#@ import namespace="MyProject" #>
using System;
using System.Reflection;
namespace MyProject
{
public class TestClass
{
public static void Method()
{
<#
var type = typeof(Product);
var properties = type.GetRuntimeProperties();
// use properties here...
#>
}
}
}
我使用 Nuget 添加了对 System.Runtime 4.1 的引用。
【问题讨论】: