简体   繁体   English

为什么VSTS nuget feed中的nuget想要多次安装相同的软件包并抛出错误?

[英]Why nuget from VSTS nuget feed wants to install the same package multiple times and throwing error?

I have a REST Api implemented using Durable Function App in Azure, which uses netstandard2.0 , and I have other class libraries in this solution also using netstandard2.0 . 我在Azure中使用Durable Function App实现了REST Api,该应用程序使用了netstandard2.0 ,并且在该解决方案中还有其他类库也使用netstandard2.0 One of them is contracts projects. 其中之一是合同项目。

There is another solution where the UAT tests placed for this solution. 还有另一种解决方案,其中为此解决方案放置了UAT测试。 The reason for this is that Specflow is still not available for .Net Core , it is available for .Net Framework only. 原因是Specflow仍不适用于.Net Core ,仅适用于.Net Framework Being able to test the Api I need the contracts for the Api. 能够测试Api,我需要Api的合同。 That is the reason I need to include the REST Api solution Contracts project (this one is netstandard2.0 ). 这就是为什么我需要包括REST Api解决方案合同项目(这是netstandard2.0 )的原因。 This dependency is managed by nuget. 此依赖关系由nuget管理。

When I would like to install the Contracts package (using netstandard2.0 ) in Specflow project (which uses .Net Framework 4.7.1 ) I get the error below. 当我想在Specflow项目(使用.Net Framework 4.7.1 )中安装Contracts软件包(使用netstandard2.0 )时,出现以下错误。

What I tried: 我试过的

  • I restarted Visual Studio a few times because I experienced that sometimes it gets crazy when .Net Core or .Net Standard projects are in use. 我重启了Visual Studio几次,因为我发现有时在使用.Net Core或.Net Standard项目时,它会变得很疯狂。 Restarting did not help. 重新启动没有帮助。
  • I opened the project from JetBrains Rider, but it did not see the netstandard2.0 nuget package in the repository. 我从JetBrains Rider打开了该项目,但是在存储库中没有看到netstandard2.0 nuget包。 I believe it is due to that the project uses .Net Framework 4.7.1 and not Net Standard 2.0 我认为这是由于该项目使用.Net Framework 4.7.1而不是Net Standard 2.0
  • I saw the error Cannot create "C:\\...\\REST.Api.dll" because a file or directory with the same name already exists. 我看到错误Cannot create "C:\\...\\REST.Api.dll" because a file or directory with the same name already exists. . So, I deleted all packages under the solution packages directory. 因此,我删除了解决方案软件包目录下的所有软件包。 I also deleted cache in Visual Studio. 我还删除了Visual Studio中的缓存。 But, the next time I started Visual Studio and tried to install package the same error occurred again. 但是,下次我启动Visual Studio并尝试安装软件包时,再次发生了相同的错误。
  • I also tried to install package using console on my machine (nuget.exe install ...). 我还尝试在计算机上使用控制台安装软件包(nuget.exe安装...)。 The error is the same. 错误是一样的。

How it is possible to resolve this issue? 如何解决此问题? I read that from .Net Framework 4.6 and above and .Net Core it is possible to reference .Net Standard libraries. 我从.Net Framework 4.6及更高版本和.Net Core了解到,可以引用.Net Standard库。

Attempting to gather dependency information for package 'REST.Api.1.0.0-20180305-154726' with respect to project 'MasterData.Features.HttpClient', targeting '.NETFramework,Version=v4.7.1'

Gathering dependency information took 861.8 ms

Attempting to resolve dependencies for package 'REST.Api.1.0.0-20180305-154726' with DependencyBehavior 'Lowest'

Resolving dependency information took 0 ms

Resolving actions to install package 'REST.Api.1.0.0-20180305-154726'

Resolved actions to install package 'REST.Api.1.0.0-20180305-154726'
  GET https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg

Retrieving package 'REST.Api 1.0.0-20180305-154726' from 'Sayusi Ando's Digital Library Packages'.
  OK https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg 2343ms

Installing REST.Api 1.0.0-20180305-154726.

Error downloading 'REST.Api.1.0.0-20180305-154726' from 'https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg'.

Cannot create "C:\Users\username\.nuget\packages\REST.api\1.0.0-20180305-154726\lib\netstandard2.0\REST.Api.dll" because a file or directory with the same name already exists.
  GET https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg
  OK https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg 462ms

Installing REST.Api 1.0.0-20180305-154726.

Error downloading 'REST.Api.1.0.0-20180305-154726' from 'https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg'.

Cannot create "C:\Users\username\.nuget\packages\REST.api\1.0.0-20180305-154726\lib\netstandard2.0\REST.Api.dll" because a file or directory with the same name already exists.
  GET https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg
  OK https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg 464ms

Installing REST.Api 1.0.0-20180305-154726.

Install failed. Rolling back...

Package 'REST.Api.1.0.0-20180305-154726' does not exist in project 'MasterData.Features.HttpClient'

Package 'REST.Api.1.0.0-20180305-154726' does not exist in folder 'C:\VSTS\REST.QA.Features\src\packages'

Executing nuget actions took 3.51 sec

Error downloading 'REST.Api.1.0.0-20180305-154726' from 'https://xyzrepository.visualstudio.com/_packaging/689a2aa0-1e6a-4f39-8389-250b4ad44db8/nuget/v3/flat2/REST.api/1.0.0-20180305-154726/REST.api.1.0.0-20180305-154726.nupkg'.
  Cannot create "C:\Users\username\.nuget\packages\REST.api\1.0.0-20180305-154726\lib\netstandard2.0\REST.Api.dll" because a file or directory with the same name already exists.

Time Elapsed: 00:00:05.5462783

The root of the problem is that the target properties conflicted with another filename. 问题的根源在于目标属性与另一个文件名冲突。 (names are shortened) (名字缩写)

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
      <!-- package stuff -->
    <dependencies>
      <group targetFramework=".NETStandard2.0" />
    </dependencies>
  </metadata>
  <files>
    <file src="..." target="lib\netstandard2.0\Contracts.dll" />
    <file src="..." target="lib\netstandard2.0\Contracts.dll" />
    <file src="..." target="lib\netstandard2.0\Contracts.dll" />
  </files>
</package>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM