我应该如何在nuget包中包含与MVC相关的命名空间?

时间:2015-11-18 18:40:29

标签: c# asp.net-mvc nuget nuget-package nuget-spec

我想创建一个nuget包来将MVC-ish内容库导入MVC项目。例如:

  • 模型
  • 枚举
  • 属性

但是我对如何包含他们的命名空间感到困惑。

创建新的类库后,我尝试使用名称空间System.ComponentModels.DataAnnotations,但它无法识别。

我已尝试在解决方案资源管理器中使用References部分。但似乎没有选择 - 只有消息:

No recent framework assemblies were found on your machine or in your project.json

enter image description here

好的,我转到project.json文件。

但我不确定如何在这里添加这些引用。

{
  "version": "1.0.0-*",
  "description": "ClassLibrary1 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",
    "System.ComponentModel.DataAnotations":  "4.0.0.0"
  },

  "frameworks": {
    "dotnet": { }
  }
}

如果我将"System.ComponentModel.DataAnotations": "4.0.0.0"添加到dependencies部分,则会收到构建错误Dependency could not be resolved

所以我 我应该在frameworks部分更改内容。

但我不确定要添加什么,尤其是因为有很多选项(例如“dotnet”,“net40”,“net50”,“dnx”等)!

我的理解是frameworks部分允许单个nuget包定位不同的框架版本。但实际上,我想要的只是一个通用的MVC包。我不希望不必要地将包限制为特定版本的框架。

1 个答案:

答案 0 :(得分:1)

前往NugetPackage经理寻求解决方案。

搜索并添加ComponentModel.DataAnnotations

enter image description here

务必重建您的解决方案。

您会发现它识别出使用情况,它会出现在旁边的参考文献中。

enter image description here