Сборка .net Core 2.0, с T4: Не удалось загрузить файл или сборку 'System.Runtime, Version = 4.2.0.0 - PullRequest
0 голосов
/ 24 мая 2018

У меня есть шаблон T4, я ссылаюсь на другую сборку, которую я сделал так:

<#@ assembly name="$(SolutionDir)Project.CodeGen\bin\Debug\netcoreapp2.0\Project.CodeGen.dll" #>
<#@ import namespace="Project.CodeGen" #>

Затем я пытаюсь создать экземпляр единственного класса в этой dll:

var code = new CodeGenHelper();

Когда я запускаю шаблон T4 (он же сохраняет его), я получаю следующую ошибку:

Severity    Code    Description Project File    Line    Suppression State
Error       Running transformation: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at Microsoft.VisualStudio.TextTemplatingCFC642B0A338D346F5BAF55401746E231DEE772554EE3570FFA3AA2898966BCA1378D2C2DC8325581610CA4D66B8A56C97E5C4A6AD35B2C18FAAAF37E1A6B7C9.GeneratedTextTransformation.TransformText()
   at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
   at Microsoft.VisualStudio.TextTemplating.TransformationRunner.PerformTransformation()

Затем я добавил ссылку на

System.Runtime

(полностью квалифицирован и нет), и ни один из них не работает.

Вот как выглядит источник Project.CodeGen (сокращен):

using System;
using System.Linq;
using System.Collections.Generic;
using System.Reflection;
using Microsoft.CodeAnalysis.CSharp;

namespace Project.CodeGen
{
    public class CodeGenHelper
    {
        public CodeGenHelper()
        {

        }

        public string Derp(string herp)
        {
            ... do stuff
        }
    }
}

Нужно ли ссылаться на System.Runtime, я думал, что ядро ​​не может?Нужно ли ссылаться на что-то вроде netstandard?Я запутался, если не сказать больше.

...