【问题标题】:Installing package from nuget adds project to solution in Visual Studio 2015从 nuget 安装包将项目添加到 Visual Studio 2015 中的解决方案
【发布时间】:2017-02-09 23:30:50
【问题描述】:

创建 .NET Core ASP.NET 应用程序,然后将 Nuget 引用(来自我的本地存储库)添加到我在同一台机器上构建的程序集 XYZ(.NET Core 类库)中。我不只是添加 .dll,而是将 XYZ.xproj 添加到解决方案中。我不想要这个。我需要测试 XYZ,就像它从未在这台计算机上开发过一样。

此外,ASP.NET 项目甚至没有构建。我得到:“已添加具有相同密钥的项目。密钥:XYZ”。看起来冲突似乎是该库正在尝试作为 nuget 引用和项目添加。

如何告诉 Nuget 不要尝试添加项目?如果在添加 Nuget 引用之前重命名 XYZ 文件夹(这样 VS 无法找到项目文件夹),我可以获得相同的结果,但是这种肮脏的 hack 并不能让我开心。

Nuget 和 Visual Studio 2015 已更新到最新版本。

【问题讨论】:

    标签: visual-studio-2015 nuget


    【解决方案1】:

    好的,如果我在启用“为解决方案创建目录”复选框的情况下创建 ASP.NET 项目,这将根据需要工作。否则,sln 文件将被放置到与 XYZ 库文件夹相关的顶级文件夹中。如果 ASP.NET 应用程序文件夹和 XYZ 库文件夹都在公共父文件夹下(我的情况),这使得 Visual Studio 可以轻松找到并加载 XYZ 项目。为解决方案创建目录将 sln 文件移动得更深,并且 XYZ 文件夹不再与 sln 文件位置相关。

    【讨论】:

    • 很高兴知道您已解决此问题。请标记您的答案,这对遇到相同问题的其他社区有好处。
    • 会的。所以要求我至少等待一天才能接受自己的答案。
    • Nope :( 现在 nuget 开始查找 XYZ 库文件夹,即使解决方案文件不在文件系统层次结构中的 XYZ 文件夹之上。即使在其文件夹中重命名 XYZ 项目文件也无济于事。
    • 好的,如果我将库和消费者的应用程序项目放在文件系统上非常不同的文件夹中,它会再次工作。如果两个文件夹没有共同点(例如 C:\Projects\MyLib 和 C:\Temp\MyApp),那么当我从 MyApp 添加对 MyLib 的项目的引用时,VS 将找不到它。如果两者都在 C:\Projects 中,VS 将 MyLib 添加为一个项目(而不仅仅是一个文件)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2017-07-11
    • 2016-08-02
    • 1970-01-01
    • 2013-02-21
    • 2013-06-11
    相关资源
    最近更新 更多