Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
.net Visual studio生成顺序与nugets一起使用_.net_Visual Studio_Msbuild_Nuget - Fatal编程技术网

.net Visual studio生成顺序与nugets一起使用

.net Visual studio生成顺序与nugets一起使用,.net,visual-studio,msbuild,nuget,.net,Visual Studio,Msbuild,Nuget,给定一个有2个项目的解决方案a:1,2- 让我们假设项目2依赖于项目1 现在,如果我们使用项目引用,那么VS/MSBuild可以解析正确的生成顺序,并且总是在生成项目2之前生成项目1 但是,如果我们想使用Nugets来管理依赖关系呢? 现在项目2定义它依赖于“nuget 1”。 但MSBuild似乎没有意识到这一点。 有没有办法解决这个问题,而不用在每个解决方案中手动定义构建顺序 有没有办法解决这个问题,而不用在每个解决方案中手动定义构建顺序 正如Lex Li提到的,这是MSBuild和NuGe

给定一个有2个项目的解决方案a:1,2-

让我们假设项目2依赖于项目1

现在,如果我们使用项目引用,那么VS/MSBuild可以解析正确的生成顺序,并且总是在生成项目2之前生成项目1

但是,如果我们想使用Nugets来管理依赖关系呢? 现在项目2定义它依赖于“nuget 1”。 但MSBuild似乎没有意识到这一点。 有没有办法解决这个问题,而不用在每个解决方案中手动定义构建顺序

有没有办法解决这个问题,而不用在每个解决方案中手动定义构建顺序

正如Lex Li提到的,这是MSBuild和NuGet的设计。当我们使用nuget管理依赖项时,MSBuild将首先构建依赖项“nuget 1”,它将根据nuget设计工作,查找并下载依赖项,而不是构建并生成项目1

为了能够获得依赖关系“nuget 1”,我们必须首先手动构建项目1,否则,MSBuild将抛出一个找不到依赖关系的异常

所有这些都与NuGet的设计相关,查找并下载依赖项,而不是构建和生成。


希望这能对您有所帮助。

您正在挑战MSBuild和NuGet的设计,所以您应该去他们的GitHub repo,而不是这里。实际上,我不是在挑战他们的设计,只是想了解使用它的正确方法。我也会试着去问