2

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

我以为我已经搞定了……它构建得很好,并显示在我的本地 nuget 提要中,并带有所有正确的元数据。

但是当我尝试在其中一个应用程序中安装软件包时,我收到了这个错误:

You are trying to install this package into a project that targets '.NETFramework,Version=v4.5', but the package does not contain any assembly references or content files that are compatible with that framework.

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

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


项目.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"
            }
        }
    }
}

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

在此处输入图像描述


问题

  1. 最重要的是,我该如何解决这个问题并让它工作?
  2. 为什么我aspnet45在项目 json 中使用,并且解决方案资源管理器中的引用部分显示ASP.NET 5.0
  3. 应该dependencies在 'project.json' 文件的,frameworksframeworkAssemblies部分放什么?在代码中,我需要的唯一 using 指令是:

    using System;

    using System.Collections.Generic;

    using System.ComponentModel.DataAnnotations;

对于更有能力的开发人员来说,Q3 可能是不言自明的。但我只是刚刚掌握了这一点,所以任何伴随的解释/细节都会受到欢迎。

4

0 回答 0