t4模板无法加载文件或程序集system.runtime

 

      在.net 6.0环境下使用T4模板生成代码报错

错误        正在运行转换: System.IO.FileNotFoundException: 未能加载文件或程序集“System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
文件名:“System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
   在 Microsoft.VisualStudio.TextTemplatingDF348CB3FB09E8E166E437124F9F88342823FF1D21BC7B73048E47A611D6DC38AD43D38B26E23A35527758646C26C0D989C154CDCD9B21719CC1A062236A2570.GeneratedTextTransformation.TransformText()
   在 Microsoft.VisualStudio.TextTemplating.TransformationRunner.PerformTransformation()

警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。    Ark.Y2020.DBModel    D:\myCode\其他项目\Ark2020\Ark.Y2020.DBModel\BCBenefitConsume.tt    

解决办法,在.csproj项目文件中为项目添加.net framework目标,如下。

    <PropertyGroup>
        <TargetFrameworks>net4.5.2;net6.0-windows</TargetFrameworks>
        <UseWPF>true</UseWPF>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <LangVersion>Latest</LangVersion>
    </PropertyGroup>

设置 <LangVersion>Latest</LangVersion> 可解决.net4.5.2 环境中 C#语言版本低的问题。

 

posted @ 2024-07-26 08:56  流沙河小妖  阅读(1)  评论(0编辑  收藏  举报