【问题标题】:How to add .net 4.5 library reference in .Net Core?如何在 .Net Core 中添加 .net 4.5 库参考?
【发布时间】:2016-07-02 08:57:49
【问题描述】:

如何在我的 ASP 5 应用程序中添加 Microsoft.TeamFoundation.Client 库?该库仅受 dnx 4.5.1 支持,而 dnx 5.0 不支持。

当我尝试构建我的应用程序时,我收到以下错误 -

CS0234 The type or namespace name 'TeamFoundation' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?

当我通过将鼠标悬停在 using TeamFoundation 语句上进一步深入研究时,我收到以下消息:

{} Namespace Microsoft.TeamFoundation
  MyProject.DNX 4.5.1 - Available
  MyProject.DNX Core 5.0 - Not Available
You can use the navigation bar to switch context.

如何使用导航栏切换上下文?

如何使用我的 ASP 5 应用程序定位 dot net 版本 4.5.1?

谢谢!第一次问!

我的 Project.JSON 文件 -

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.ViewFeatures": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration": "1.0.0-rc1-final",
    "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx451": {
      "dependencies": {
        "Microsoft.TeamFoundationServer.ExtendedClient": "14.89.0",
        "Microsoft.WindowsAzure.ConfigurationManager": "3.2.1"
      },
      "frameworkAssemblies": {
        "System.Activities": "4.0.0.0"
      }
    },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ]
}

【问题讨论】:

  • 你能给我们看看你的 project.json 吗?
  • 刚刚添加了截图。
  • 为什么要截屏?
  • 我应该添加一个完整的代码文件吗?我很抱歉,但我是新手 :( 和编码 :(
  • 将其添加为代码。干杯

标签: asp.net-mvc asp.net-core asp.net-core-mvc .net-core asp.net-core-1.0


【解决方案1】:

您依赖的程序集不支持dnxcore50。如果您不关心支持 .NET Core 并且乐于继续使用桌面框架,那么您可以从 project.json 的框架列表中删除 "dnxcore50": { }

【讨论】:

  • 如果我这样做,我的应用程序将停止工作,因为它使用 MVC 6。如您所见,我认为有很多“依赖项”不适用于 4.5.1?是吗?
  • MVC6 适用于 dnx451 和 dotnet5.x moniker。它只是确定它是使用核心还是完整框架。当您使用 dnx451 时,您的应用程序将使用完整的 .net 4.5 框架(或 linux/mac 上的单声道)
  • @user2348002 MVC 6 应该可以找到目标 dnx451。如果它停止工作,原因不同。
【解决方案2】:

是的,我刚刚为您检查了一下,Microsoft.TeamFoundationServer.ExtendedClient 尚不支持 DNX Core 框架。

因此,正如 vcsjones 指出的那样,如果您不需要跨平台,则可以删除 dnxcore50 部分。

删除 dnxcore50 后,将 Microsoft.WindowsAzure.ConfigurationManager 移至常规依赖项。并保存您的 project.json 文件以创建一个新的锁定文件。

如果这不起作用,请转到包含 .sln 文件的文件夹并在命令提示符下运行“dnu restore”。

这应该可行。

【讨论】:

  • 谢谢。它现在起作用了:)爱你。我需要现在结束这个问题吗?
  • 不客气。通常人们会“标记”最有帮助的答案。或者用那些黑色箭头给他们的助手投票。 :)
猜你喜欢
  • 2018-01-19
  • 2017-09-18
  • 1970-01-01
  • 2016-08-04
  • 2016-12-08
  • 2017-04-19
  • 2021-05-25
  • 1970-01-01
  • 2013-04-26
相关资源
最近更新 更多