簡體   English   中英

為什么VSTS nuget feed中的nuget想要多次安裝相同的軟件包並拋出錯誤?

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

我在Azure中使用Durable Function App實現了REST Api,該應用程序使用了netstandard2.0 ,並且在該解決方案中還有其他類庫也使用netstandard2.0 其中之一是合同項目。

還有另一種解決方案,其中為此解決方案放置了UAT測試。 原因是Specflow仍不適用於.Net Core ,僅適用於.Net Framework 能夠測試Api,我需要Api的合同。 這就是為什么我需要包括REST Api解決方案合同項目(這是netstandard2.0 )的原因。 此依賴關系由nuget管理。

當我想在Specflow項目(使用.Net Framework 4.7.1 )中安裝Contracts軟件包(使用netstandard2.0 )時,出現以下錯誤。

我試過的

  • 我重啟了Visual Studio幾次,因為我發現有時在使用.Net Core或.Net Standard項目時,它會變得很瘋狂。 重新啟動沒有幫助。
  • 我從JetBrains Rider打開了該項目,但是在存儲庫中沒有看到netstandard2.0 nuget包。 我認為這是由於該項目使用.Net Framework 4.7.1而不是Net Standard 2.0
  • 我看到錯誤Cannot create "C:\\...\\REST.Api.dll" because a file or directory with the same name already exists. 因此,我刪除了解決方案軟件包目錄下的所有軟件包。 我還刪除了Visual Studio中的緩存。 但是,下次我啟動Visual Studio並嘗試安裝軟件包時,再次發生了相同的錯誤。
  • 我還嘗試在計算機上使用控制台安裝軟件包(nuget.exe安裝...)。 錯誤是一樣的。

如何解決此問題? 我從.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

問題的根源在於目標屬性與另一個文件名沖突。 (名字縮寫)

<?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