首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么来自VSTS提要的nuget想要多次安装相同的包并抛出错误?

为什么来自VSTS提要的nuget想要多次安装相同的包并抛出错误?
EN

Stack Overflow用户
提问于 2018-03-05 17:18:08
回答 1查看 71关注 0票数 0

我在Azure中使用持久函数应用程序实现了REST,它使用netstandard2.0,在这个解决方案中还有其他类库也使用netstandard2.0。其中之一是合同项目。

另一种解决方案是UAT测试该解决方案。原因是Specflow仍然不能用于.Net Core,只能用于.Net Framework。为了能够测试Api,我需要Api的合同。这就是我需要包含REST解决方案契约项目(这个是netstandard2.0)的原因。此依赖项由nuget管理。

当我想在Specflow项目(使用netstandard2.0)中安装Contracts包(使用.Net Framework 4.7.1)时,我会看到下面的错误。

我试过的是:

  • 我重新启动了Visual几次,因为我体验到,当.Net Core或.Net标准项目正在使用时,它有时会变得疯狂。重新开始并没有帮助。
  • 我从JetBrains Rider打开了这个项目,但是它没有在存储库中看到netstandard2.0 nuget包。我相信这是因为这个项目使用的是.Net Framework 4.7.1,而不是NetStandard2.0
  • 我看到了错误Cannot create "C:\...\REST.Api.dll" because a file or directory with the same name already exists.。因此,我删除了解决方案包目录下的所有包。我还删除了Visual中的缓存。但是,下次我启动Visual并尝试安装包时,同样的错误再次发生。
  • 我还试图在我的计算机上使用控制台安装软件包(nuget.exe安装.)。错误是一样的。

如何才能解决这个问题?我从.Net Framework 4.6和上面的.Net Core中读到了这一点,可以参考.Net Standard库。

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-06 12:17:43

问题的根源在于目标属性与另一个文件名冲突。(姓名缩短)

代码语言:javascript
运行
复制
<?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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49116013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档