ASP.Net Core必须添加对System.Runtime版本4.1.0.0的引用

时间:2017-03-26 21:55:20

标签: c# asp.net-core

我有一个奇怪的问题。我有一个生成模板的T4生成器。 一切都很好,直到我尝试引用MyType.GetCustomAttributes<MyAttributeAttribute>(false).SingleOrDefault();

然后我收到一个错误:

  

编译转换:类型“属性”在未引用的程序集中定义。您必须添加对程序集'System.Runtime,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的引用。 RestEzApiCore

这是明确引用的,它似乎是框架类型之间的不匹配。

我在VS2017上运行,可能添加运行时策略可能有所帮助,但我不知道如何

有谁知道如何解决这个问题?

修改

以下列出了我尝试过但没有效果的事项:

  1. 我已经擦干了我的包文件夹
  2. 安装.Net-Framework 1.6,但没有帮助我。
  3. 将所有运行时代码移动到单独的DLL
  4. 我删除了所有项目,包括之前的.net 4.5.2并将它们全部升级为ASP.Net-Core
  5. 这些选项似乎都没有起作用

1 个答案:

答案 0 :(得分:1)

安装Power BI嵌入式ASP.NET nuget软件包后,我遇到了类似的问题。我在我的开发环境中工作,但没有在生产环境中工作。在许多帖子中,建议是安装.net SDK,但我找到了另一种方法:

安装System.Runtime NuGet包(使用您需要的版本)。然后,在WebConfig中添加引用(根据您的需要更改版本和密钥):

<system.web>
<httpRuntime enableVersionHeader="false" targetFramework="4.6.1"/>
    <compilation debug="true" targetFramework="4.6.1">
        <assemblies>
            <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

我希望你能从我的解决方案中获得灵感。