我正在尝试创建一个私有 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"
}
}
}
}
解决方案资源管理器 > 参考
问题
- 最重要的是,我该如何解决这个问题并让它工作?
- 为什么我
aspnet45
在项目 json 中使用,并且解决方案资源管理器中的引用部分显示ASP.NET 5.0
? 我应该
dependencies
在 'project.json' 文件的,frameworks
和frameworkAssemblies
部分放什么?在代码中,我需要的唯一 using 指令是:using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
对于更有能力的开发人员来说,Q3 可能是不言自明的。但我只是刚刚掌握了这一点,所以任何伴随的解释/细节都会受到欢迎。