从Visual Studio Code添加对另一个项目的引用

45
如果一个库(例如在github上)没有通过nuget包分发,那我就必须手动将其作为引用包含进来,是吗?我看到很多关于如何为Visual Studio项目添加引用的参考文章,但我似乎无法弄清如何在Visual Studio Code中实现它。
在这种情况下,我下载了库的zip文件,并将其扩展文件夹移到了我的项目中,然后尝试使用,但没有成功。
编辑:
我注意到这个下载的zip文件包含一个.nuspec文件。有没有什么办法可以利用这个文件扩展名将它导入到我的项目中?

尝试一下这个 Stack Overflow 的答案:https://dev59.com/QlgQ5IYBdhLWcg3w7oZA -- 第一个答案添加了一个 NuGet 包,但其他答案则介绍了如何在没有 NuGet 包的情况下添加引用。 - user7396598
5个回答

101

假设你有两个项目:

1)Project1.Api

2)Project2.Executable


使用dotnet add reference的命令行语法:

    cd Project2.Executable
    dotnet add reference ../Project1.Api/Project1.Api.csproj
如果您检查Project2.Executable.csproj文件,您会看到以下条目:
    <ItemGroup>
         <ProjectReference Include = "..\Project1.Api\Project1.Api.csproj" />
    </ItemGroup>

1
对于那些因为这个问题而感到头疼的人:步骤是正确的,但要小心不要在编辑项目文件时添加不可读(不可见)的空格字符,例如制表符、CR-LF等。这可能会导致您的VSCode无法正确读取项目文件。我经常遇到这种情况。 - Sold Out
我该如何在Project1.Api中使用已添加为引用的包,例如NLog? - Ali Majed HA

28

添加"vscode-solution-explorer"扩展程序。它将使文件夹结构类似于Visual Studio。 右键单击项目 --> 添加引用 --> 从列表中选择引用项目。


谢谢,伙计!真的帮了大忙。这个插件做了我在.csproj文件中所做的一切,但没有不可读的空格。突然间它开始工作了!我记得以前在.csproj文件中有一些错误的空格问题。(比较工作和失败的版本)当手动编辑时,您可能会意外添加这样的空格。因此,VSCode无法正确读取项目文件的行。这个扩展程序不会添加多余的空格,所以它可以正常工作 :) - Sold Out
谢谢,我从你的回答中了解到了这个扩展程序。我立刻认为它是不可或缺的。 - M.Bearden
在项目上右键点击 --> 添加引用 --> 从列表中选择引用项目。----------------在“添加引用”后面没有“从列表中选择引用项目”的选项。https://z1.ax1x.com/2023/11/10/pi35G6K.png - undefined

9
您可以打开要添加引用的项目的 .csproj 文件,并像这样添加项目引用:
<ItemGroup>
    <ProjectReference Include = "<RELATIVE_PATH_TO_REFERENCE_PROJECT>" />
</ItemGroup>

如果 ProjectReferenceItemGroup 已经存在,那么您只需要将其添加到其中即可。
示例:
<ItemGroup>
    <ProjectReference Include = "../MyLibrary.csproj" />
</ItemGroup>

1
如果我更新了被引用的 csproj 文件,那么这个更改不会反映在引用它的项目中。 - Luniam

1
最新发布的Visual Studio Code的C# DevKit包含了一个解决方案资源管理器。它将作为文件资源管理器的一个子菜单(选项卡)显示。如果您正在使用DevKit,我建议不要安装vscode-solution-explorer扩展程序。
您可以展开解决方案,右键单击您希望添加引用的项目,并从上下文菜单中选择“添加项目引用”。
如果该项目是您解决方案的一部分,它将出现在顶部的命令面板中。 我想指出,使用C# DevKit需要一个Microsoft账户,所以这可能不是您正在寻找的免费解决方案。

-5
在Visual Studio中,打开解决方案资源管理器,展开将引用其他库的项目。您会看到“引用”,右键单击并选择“添加”。然后在左侧选择浏览。在文件系统中找到您的dll。如果vs找不到库,则可能需要解压缩它。我已经阅读过,您可能需要将dll复制到bin文件夹中,我建议先尝试不进行此操作,如果没有成功,则将其复制到其中。
顺便说一句,谷歌搜索“visual studio add reference”会出现很多很棒的结果。

5
谢谢,但我在问题中提到我使用的是visual studio code而不是visual studio - user6728767
2
哦,糟糕,那是我犯的一个可怕的疏忽。抱歉。 - user7396598
3
@user7396598,请删除您的回答,这样您就不会因为一个诚实的错误而继续获得负面评价。 - Jacques

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接