Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2015 Visual Studio 2015不尊重nuget';ASP.NET核心项目的存储库路径_Visual Studio 2015_Asp.net Core_Nuget_Asp.net Core Mvc_Nuget Package - Fatal编程技术网

Visual studio 2015 Visual Studio 2015不尊重nuget';ASP.NET核心项目的存储库路径

Visual studio 2015 Visual Studio 2015不尊重nuget';ASP.NET核心项目的存储库路径,visual-studio-2015,asp.net-core,nuget,asp.net-core-mvc,nuget-package,Visual Studio 2015,Asp.net Core,Nuget,Asp.net Core Mvc,Nuget Package,我有更新3的Visual Studio 2015 Enterprise。在一个VS解决方案中,我有3个不同的项目。2个项目是ASP.Net核心,第3个项目是经典的.Net 4.6.2 所有3个项目都有nuget包,我想将它们存储在相对于解决方案文件的一个位置(例如C:Root\Lib\packages)某些包将在2个ASP.Net核心项目之间共享。但是请注意,我不是在尝试在ASP.Net Core项目和classing.Net 4.6.2项目之间共享一个包 因此,我将nugget.config文

我有更新3的Visual Studio 2015 Enterprise。在一个VS解决方案中,我有3个不同的项目。2个项目是
ASP.Net核心
,第3个项目是经典的
.Net 4.6.2

所有3个项目都有nuget包,我想将它们存储在相对于解决方案文件的一个位置
(例如C:Root\Lib\packages)
某些包将在2个
ASP.Net核心项目之间共享。但是请注意,我不是在尝试在
ASP.Net Core
项目和classing
.Net 4.6.2
项目之间共享一个包

因此,我将
nugget.config
文件放在
C:\root
中,如下所示

 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
    <config>
        <add key="repositoryPath" value=".\Lib\packages" />
    </config>  
  </configuration>
这样做
asp.net core
projects将包还原到C:\Users{user name}\.nuget\packages这不是我配置的。
虽然
classic.net 4.6.2
project给出错误
给定的路径格式不受支持

您可以使用“NUGET\u PACKAGES”变量来配置Asp.net核心项目的存储库路径,还可以在根文件夹中放置一个NUGET.config文件来控制classic.net项目的存储库路径。它在我这边起作用


唯一的问题是,所有开发人员都需要添加这个环境变量,就像您提到的那样,以实现这一点。据我所知,目前没有任何方法可以避免这种情况。但是,如果您的团队成员不想更改Asp.Net核心项目包的位置,则不需要添加此环境变量。软件包将恢复到其计算机上的默认路径,.Net Core项目可以自动找到并使用它们。

@LP12,如果您的解决方案根目录下有一个现有的软件包文件夹,请在NuGet将软件包放置到新位置之前将其删除,然后再次检查。你的Nuget 3.4 x版本是什么?您的意思是在Nuget.confi文件中添加环境变量吗@我使用的是Nuget版本3.5.0.1484(VS 2015更新3)。我通过右键单击project->properties->debug->add Environment variable添加了环境变量。(请参见上面的更新1)通过项目属性添加的环境变量仅在运行时可用。在构建项目之前,您需要在恢复NuGet包时提供环境变量。因此,通过Windows而不是Visual Studio添加环境变量。在启动Visual Studio之前,您可能需要重新启动它。如果我在机器级别添加环境变量,这不会影响该机器上的所有项目吗?包括
classing.net
项目以及
.net核心项目
以及环境变量方法团队中的所有开发人员都必须在他们的机器上添加此环境变量。没有道理。使用nuget.config文件方法,我们对nuget.config文件进行了源代码控制,这种方法适用于所有开发人员。
<?xml version="1.0" encoding="utf-8"?>
  <configuration>
    <config>
        <add key="repositoryPath" value="%MyPath%\Lib\packages" />
    </config>  
</configuration>