C# 如何使我的nuget包与.NET4.5兼容?

C# 如何使我的nuget包与.NET4.5兼容?,c#,.net,asp.net-mvc,nuget-package,nuget-spec,C#,.net,Asp.net Mvc,Nuget Package,Nuget Spec,我正在尝试创建一个私有的nuget软件包,以允许我们的组织跨多个应用程序共享MVC模型。这是我的第一次,克里斯的回答启发了我 我以为我把它钉死了。。。。它构建得很好,并以所有正确的元数据显示在我的本地nuget提要中 但是,当我尝试在其中一个应用程序中安装该软件包时,出现以下错误: 您正试图将此程序包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。 我认为依赖项与4.5兼容。我的4.5项目(目标应用程序)引用

我正在尝试创建一个私有的nuget软件包,以允许我们的组织跨多个应用程序共享MVC模型。这是我的第一次,克里斯的回答启发了我

我以为我把它钉死了。。。。它构建得很好,并以所有正确的元数据显示在我的本地nuget提要中

但是,当我尝试在其中一个应用程序中安装该软件包时,出现以下错误:

您正试图将此程序包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。

我认为依赖项与4.5兼容。我的4.5项目(目标应用程序)引用了相同版本的依赖项

我发现了一个可能(不)相关的异常:在project.json文件中,我将aspnet45作为框架。但在解决方案资源管理器中,引用显示了对ASP.NET 5.0的引用


Project.json

{
    "version": "1.0.0-*",
    "description": "My Shared Class Library",
    "authors": [ "MHL" ],
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": "",

    "dependencies": {
        "System.Collections": "4.0.0.0",
        "System.Linq": "4.0.0.0",
        "System.Threading": "4.0.0.0",
        "System.Runtime": "4.0.0.0",
        "Microsoft.CSharp": "4.0.0.0",
        "Microsoft.AspNet.Mvc": "5.2.2"
    },

    "frameworks": {
        "aspnet45": {
            "frameworkAssemblies": {
                "System.ComponentModel.DataAnnotations": "4.0.0.0",
                "System.Web": "4.0.0.0"
            }
        }
    }
}

解决方案资源管理器>参考


问题

  • 最重要的是,我如何解决这个问题并使其正常工作
  • 为什么我在json项目中使用了
    aspnet45
    ,而解决方案资源管理器中的参考部分显示了
    ASP.NET 5.0
  • 我应该在'project.json'文件的
    依赖项
    框架
    框架程序集
    部分中放置什么?在代码中,我需要的唯一使用指令是:

    使用系统

    使用System.Collections.Generic

    使用System.ComponentModel.DataAnnotations

  • 对于一个更有能力的开发人员来说,Q3可能是不言自明的。但我只是刚刚开始了解这一点,所以欢迎提供任何公司的解释/详细信息