【问题标题】:How do I add assembly references in Visual Studio Code?如何在 Visual Studio Code 中添加程序集引用?
【发布时间】:2017-06-19 10:34:38
【问题描述】:

所以我现在在处理我的第一个 C# 项目时遇到了两次类似的问题。尝试添加 using System.Data;using System.Timers; 时,出现以下错误:

命名空间“System”中不存在类型或命名空间名称“x”(您是否缺少程序集引用?)。

我尝试开始一个新项目并运行restore 以查看我是否不小心删除了依赖项中的某些内容,但在生成一个新项目时我仍然收到相同的错误。我试图研究这个问题,并看到了有关“解决方案资源管理器”的答案,但据我所知,Visual Studio Code 1.8 中似乎没有这个名称的功能。

谁能指出我如何让​​这些工作的正确方向,也许是通过手动添加到依赖项中?

【问题讨论】:

  • 您确定没有找到与 Visual Studio(不是 VS Code)相关的帮助/建议吗?解决方案资源管理器是 VS 中的一项功能,但我不确定它是否存在于 VSC 中。
  • @Damien_The_Unbeliever 这听起来很合理,但我并不清楚其中的区别。我将尝试再次搜索,重点关注 VSC 方面。
  • @Damien_The_Unbeliever 好的,关于缺少解决方案资源管理器,您似乎是对的。看来我必须手动添加对依赖文件的缺失引用,但至于我在哪里或如何知道要添加什么版本号,我有点不知所措。

标签: c# .net-core visual-studio-code project assembly-references


【解决方案1】:

.csproj 项目文件

以下主题适用于.csproj项目文件和:.NET Core 1.x SDK、.NET Core 2.x SDK

将包引用添加到项目文件。

dotnet add package

示例

Newtonsoft.Json NuGet 包添加到项目中:

dotnet add package Newtonsoft.Json

.json 项目文件

以下主题适用于.json项目文件:

本指南将引导您完成在 Visual Studio Code 中添加任何程序集引用的过程。在此示例中,我们将程序集引用 System.Data.SqlClient 添加到 .NET Core C# 控制台应用程序中。

注意

  • 在第 6 步,输入您想要的程序集引用。
  • 一些程序集引用适用于 .NET Framework,它会给您带来错误。
  • OleDb 在 .NET Core 中不可用,可能是因为它不是跨平台的。

先决条件

  1. 安装Visual Studio Code
  2. 安装.NET Core SDK(Preview 2 版本)
  3. 从 Visual Studio Code Extension Marketplace 安装 NuGet Package Manager
  4. 从 Visual Studio Code Extension Marketplace 安装 C# extension

步骤

  1. 启动 Visual Studio 代码
  2. 打开您的项目文件夹
  3. F1Ctrl+Shift+P菜单栏 > 视图 > 命令面板

  1. Command Palette 框中,输入 nu

  1. 点击 NuGet 包管理器:添加包

  2. 输入包过滤器,例如system.data在此处输入您的程序集参考

  1. 按 Enter 键
  2. 点击System.Data.SqlClient

  1. 弹出如下提示

  1. 点击恢复

  1. 以下输出面板弹出

  1. Explorer 面板中,点击 project.json 将其打开

  1. 编辑器面板中,它显示了添加到project.json文件中的程序集引用

  1. 程序集参考,System.Data.SqlClient 用于 Program.cs

【讨论】:

  • 没有关于 Nuget 的建议,我们是否需要为此安装其他东西?
  • 没有 Nuget: Install/Reference 命令,只有添加包!
  • System.Data.OleDb 怎么样?在命令面板中没有建议。
  • @EmonHaque:OleDb 在 .NET Core 中不可用,可能是因为它不是跨平台的。
【解决方案2】:

使用命令dotnet add package 将包引用添加到您的项目。例如:dotnet add package Newtonsoft.Json,将包引用添加到*.csproj项目文件中:

<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />

现在您可以运行命令dotnet restore 来恢复项目的依赖关系。

参考:dotnet add package

【讨论】:

    【解决方案3】:

    将dll文件拖放到bin文件夹中

    【讨论】:

      【解决方案4】:

      上面来自ikolim的回答也没有像其他人所指出的那样工作,没有Nuget:安装/参考命令。只有添加包!所以下面链接中的答案解决了我的问题。手动编辑 Myproject.csproj 文件。

      Duplicate of this thread

      【讨论】:

        【解决方案5】:

        在现有 .dll 引用的情况下, 右键项目 添加现有项目 > 选择 .dll 的路径 在项目中添加dll后,右键单击.dll

        build-action = Content, Copy-to-output-dir = Always/ 或者如果更新

        【讨论】:

          【解决方案6】:

          我已将文件存储在名为“dlls”的项目文件夹中,并将参考文件添加到我的 .csproj 文件中,如下所示:

           <ItemGroup>
               <Reference Include="Microsoft.Office.Client.Policy.Portable">
                <HintPath>dlls\Microsoft.Office.Client.Policy.Portable.dll</HintPath>
              </Reference>
              <Reference Include="Microsoft.Office.Client.TranslationServices.Portable">    
           <HintPath>dlls\Microsoft.Office.Client.TranslationServices.Portable.dll</HintPath>
              </Reference>
          </ItemGroup>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-10-31
            • 2017-01-15
            • 1970-01-01
            • 2017-06-06
            • 2020-06-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多