【问题标题】:Can't add dependencies to a .NET core project无法将依赖项添加到 .NET 核心项目
【发布时间】:2023-03-12 17:56:02
【问题描述】:

我有一个小型测试 .NET 核心项目,它本质上是一个休息接口。

项目被创建为:

ASP.NET Core Web Application (.NET Framework)

我想使用一个来自名为Common

的模块的外部类

所以,我右键单击依赖项,Visual Studio 会显示解决方案中的所有项目,然后我选择 Common;本质上是添加依赖项的标准步骤。

这会修改文件 project.json 并添加以下内容:

"frameworks": {
    "net462": {
        "dependencies": {
            "Common": {
                "target": "project"
            }
        }
    }
},

但是,当我编译时,我收到以下错误:

project.json(25,23): error NU1001: The dependency Common could not be resolved.

依赖项是通过菜单添加的,就像我向任何其他项目添加依赖项一样。 .NET Core 有什么完全不同的地方吗?

【问题讨论】:

标签: c# visual-studio-2015 asp.net-core


【解决方案1】:

所以,我发现整件事情都是半生不熟,而许多其他人都在为同样的问题而苦苦挣扎;只是在我的搜索中更改了措辞,发现 .NET 核心不允许外部依赖项,除非它们以 NuGet 包的形式出现。 IDE 没有反映这一点,而且看起来整个事情正在进行中。

一些有帮助的链接:

.net core 1.0 visual studio referencing external dll

How to add project reference to ASP.NET Core 1.0 MVC project

【讨论】:

  • .net 核心工具仍处于预发布状态。预计随着 vs2017 的发布,它会成为最终形式
  • 我会尝试下载 VS 2017 RC 看看效果如何
  • 如果项目在同一个解决方案中,他们确实允许这样做。对于已编译的 DLL,确实需要 VS2015 工具包。 VS2017 工具已经支持新的 csproj 结构,它还允许引用已编译的 DLL,无需 nuget 包
【解决方案2】:

如果你手动编辑 project.json 的依赖部分并添加 dll 名称和版本,它将被拾取并可用。

所以我创建了 WebAPI 项目和一个名为 ClassLibrary 的类库项目...然后 ClassLibrary 作为 webapi 项目的 project.json 的依赖项。

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    },
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",    
    "ClassLibrary": "1.0.0"
  }
....}

虽然我在 Linux 而不是 Windows 上对此进行了测试,但我认为应该不会有太大不同。

【讨论】:

  • 你有使用的语法示例吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多