How to Reference Assemblies Using Visual Studio Code

How do I add assembly references in Visual Studio Code?

.csproj Project file

The following topic applies to .csproj project file and : .NET Core 1.x SDK, .NET Core 2.x SDK

Adds a package reference to a project file.

dotnet add package
Example

Add Newtonsoft.Json NuGet package to a project:

dotnet add package Newtonsoft.Json
.json Project file

The following topic applies to .json project file:

This guide walks you through the process of adding any assembly reference in Visual Studio Code. In this example, we are adding the assembly reference System.Data.SqlClient into .NET Core C# console application.

Note

  • At step #6, enter the assembly reference that you want.
  • Some assembly reference is applicable to .NET Framework and it will gives you error(s).
  • OleDb is not available in .NET Core, probably because it's not cross platform.

Prerequisites

  1. Install Visual Studio Code
  2. Install .NET Core SDK (Preview 2 version)
  3. Install NuGet Package Manager from the Visual Studio Code Extension Marketplace
  4. Install C# extension from Visual Studio Code Extension Marketplace

Steps

  1. Launch Visual Studio Code
  2. Open your project folder
  3. Launch VS Code Command Palette by pressing F1 or Ctrl+Shift+P or Menu Bar > View > Command Palette

enter image description here


  1. In Command Palette box, type nu

enter image description here


  1. Click on NuGet Package Manager: Add Package

  2. Enter package filter e.g. system.data (Enter your assembly reference here)

enter image description here


  1. Press Enter
  2. Click on System.Data.SqlClient

enter image description here


  1. The following prompt pops up

enter image description here


  1. Click on Restore

enter image description here


  1. The following Output panel pops up

enter image description here


  1. In the Explorer panel, click on project.json to open it

enter image description here


  1. In the Editor panel, it shows the assembly reference added into project.json file

enter image description here


  1. Assembly reference, System.Data.SqlClient used in Program.cs

enter image description here

How to reference assemblies using Visual Studio Code?

The new .NET Core SDK restore command is dotnet restore

To add any asssembly reference in Visual Studio Code, please refer to my post.

VS Code - The reference assemblies for ".NETFramework,Version=v5.0" were not found

I struggled with this problem for a long time. Here is a list of things that need to be checked.

  1. Remove all SDKs from your computer. - Find in the control panel "Programs and Features" then delete all Microsoft .NET Runtime - x.x.xx, Microsoft .NET SDK x.x.x

  2. Install newest .NET SDK and Runtime - i use this site

  3. Check your PATH - Check if the path with the environment variables in windows contains C:\Program Files\dotnet

  4. !! Check MSBuildSDKsPath Environment Variable - It turned out that installing the new SDK does not change the information in the environment paths. I still had the old version listed there and after uninstalling everything, I got a message saying that 'Microsoft.NET.Sdk.Web' could not be found.

    Check the value of the MSBuildSDKsPath variable. The proper value for me was x C:\Program Files\dotnet\sdk\5.0.401\Sdks Environment Variable

Can't reference dll assembly to the Visual Studio Code project

You can use dotnet-add reference CLI command which provides a convenient option to add project references to a project.

Example: Add a project reference:

dotnet add app/app.csproj reference lib/lib.csproj

For more information, refer this.

How to create a Reference Assembly with Visual Studio 2017

How to create a Reference Assembly with Visual Studio

Workaround:

Try using ProduceReferenceAssembly when you're in VS2017. Then you can find the reference assembly in ref folder. (Or you can use VS2019, this issue is fixed there.)

According to this document, ProduceOnlyReferenceAssembly is a boolean value that instructs the compiler to emit only a reference assembly rather than compiled code. This property corresponds to the /refonly switch of the vbc.exe and csc.exe compilers.

It's strange that the ProduceOnlyReferenceAssembly failed to work in VS while the command-line worked. I think it could be one issue with VS2017, so I suggest you report this one to DC forum.

(I test the property and find it works well in VS2019).



Related Topics



Leave a reply



Submit