我正在使用VS 2017版本15.9.38。最近,当我构建一个旧项目时,我开始收到一个错误。这是一个网络项目,它有一个精确的应用程序。错误是:
没有找到2.1.1版本的
包Microsoft.AspNetCore.DataProtection。它可能在NuGet恢复后被删除了。否则,NuGet还原可能只有部分完成,这可能是由于最大路径长度限制所致。
此错误位于一个名为:c:\ Files\dotnet\sdk\2.1.526\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets的文件中,该文件位于一行,上面写着:
<ResolvePackageAssets
ProjectAssetsFile="$(ProjectAssetsFile)"
ProjectAssetsCacheFile="$(ProjectAssetsCacheFile)"
ProjectPath="$(MSBuildProjectFullPath)"
ProjectLanguage="$(Language)"
EmitAssetsLogMessages="$(EmitAssetsLogMessages)"
TargetFrameworkMoniker="$(NuGetTargetMoniker)"
RuntimeIdentifier="$(RuntimeIdentifier)"
MarkPackageReferencesAsExternallyResolved="$(MarkPackageReferencesAsExternallyResolved)"
DisablePackageAssetsCache="$(DisablePackageAssetsCache)"
DisableFrameworkAssemblies="$(DisableLockFileFrameworks)"
DisableTransitiveProjectReferences="$(DisableTransitiveProjectReferences)"
EnsureRuntimePackageDependencies="$(EnsureRuntimePackageDependencies)"
VerifyMatchingImplicitPackageVersion="$(VerifyMatchingImplicitPackageVersion)"
ExpectedPlatformPackages="@(ExpectedPlatformPackages)"
>我的项目没有像我的一些项目那样的packages.config文件或包子文件夹。
在我的项目csproj文件中,有一节说:
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="2.1.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.1" />
</ItemGroup>另一种我可以看到的错误是在解决方案资源管理器中,在Dependencies/Nuget节点下,所有包都有一个带有感叹号的黄色三角形。以下是我尝试过的所有事情:
在VS选项中,对于Nuget,将检查这些选项(我还尝试取消检查它们以获得良好的度量):
packages
期间下载丢失的检查缺少的包
清除Nuget缓存
清洁改造工程
重新启动VS
重启动计算机
删除此文件夹: c:\users\my_username.nuget
我尝试使用Nuget Package将一些包更新为更新版本,并得到以下错误:
程序Files\dotnet\sdk\2.1.526\NuGet.targets(114,5):错误:从源'C:\Program \dotnet\sdk\NuGetFallbackFolder‘检索'System.IO.Compression.ZipFile.4.3.0’的包元数据时发生了错误。C:\ Files\dotnet\sdk\2.1.526\NuGet.targets(114,5):错误:包中不存在Nuspec文件。
我将把这个新错误称为错误B。
我尝试删除所有的软件包,然后用Nuget软件包管理器重新安装它们,然后得到错误B。
我在VS中打开了nuget包管理控制台,并运行了以下命令:
更新-包-Reinstall
得到了这样的回应:
没有从项目“任何”的当前包源中获得包更新。
我在控制台中运行了这个程序,得到了错误B:
更新-包
我打开了一个命令提示符(而不是VS),并试图运行一些东西。但是每当我运行它们时,我都会发现错误B。这些是我尝试过的:
dotnet恢复--武力-评估
dotnet恢复
dotnet构建
dotnet nuget局部变量--清除所有
我试着重新安装SDK2.1.526,但这没有帮助。
我见过一些人建议你可以重新安装或更新Nuget,但我不知道如何做到这一点。例如,当我遵循这些步骤时,Nuget和Package是不可用的。我在扩展中寻找它们卸载,但它们不在那里。
在Visual中,从“工具”菜单中选择“扩展和更新”选项。从出现的对话框中选择“更新”节点,从左侧的树展开“更新”节点。tree.
。
我试着下载CLI nuget.exe并运行它,但是仍然有错误B:
nuget还原whatever.sln
我尝试在具有管理员权限的命令行窗口中运行所有这些命令,但没有帮助。
还有什么我可以试试的吗?提前感谢
发布于 2021-09-14 09:04:57
专注于你所说的“错误B":
程序Files\dotnet\sdk\2.1.526\NuGet.targets(114,5):错误:从源'C:\Program \dotnet\sdk\NuGetFallbackFolder‘检索'System.IO.Compression.ZipFile.4.3.0’的包元数据时发生了错误。C:\程序Files\dotnet\sdk\2.1.526\NuGet.targets(114,5):错误:包中不存在Nuspec文件
实际上,您的.nuspec文件夹中有C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.io.compression.zipfile\4.3.0文件吗?
我有一个,它的内容是有效的XML:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata minClientVersion="2.12">
<id>System.IO.Compression.ZipFile</id>
<version>4.3.0</version>
<title>System.IO.Compression.ZipFile</title>
<authors>Microsoft</authors>
<owners>microsoft,dotnetframework</owners>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<licenseUrl>http://go.microsoft.com/fwlink/?LinkId=329770</licenseUrl>
<projectUrl>https://dot.net/</projectUrl>
<iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
<description>Provides classes that support the compression and decompression of streams using file system paths.
Commonly Used Types:
System.IO.Compression.ZipFile
When using NuGet 3.x this package requires at least version 3.4.</description>
<releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<serviceable>true</serviceable>
<dependencies>
<group targetFramework="MonoAndroid1.0" />
<group targetFramework="MonoTouch1.0" />
<group targetFramework=".NETFramework4.6" />
<group targetFramework=".NETStandard1.3">
<dependency id="System.Buffers" version="4.3.0" exclude="Compile" />
<dependency id="System.IO" version="4.3.0" exclude="Compile" />
<dependency id="System.IO.Compression" version="4.3.0" />
<dependency id="System.IO.FileSystem" version="4.3.0" exclude="Compile" />
<dependency id="System.IO.FileSystem.Primitives" version="4.3.0" exclude="Compile" />
<dependency id="System.Resources.ResourceManager" version="4.3.0" exclude="Compile" />
<dependency id="System.Runtime" version="4.3.0" />
<dependency id="System.Runtime.Extensions" version="4.3.0" exclude="Compile" />
<dependency id="System.Text.Encoding" version="4.3.0" />
</group>
<group targetFramework="Xamarin.iOS1.0" />
<group targetFramework="Xamarin.Mac2.0" />
<group targetFramework="Xamarin.TVOS1.0" />
<group targetFramework="Xamarin.WatchOS1.0" />
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6" />
<frameworkAssembly assemblyName="System.IO.Compression.FileSystem" targetFramework=".NETFramework4.6" />
</frameworkAssemblies>
</metadata>
</package>如果该文件丢失或损坏,它将解释您所看到的问题。您可以尝试重命名System.IO.Compression.ZipFile文件夹并再次尝试还原项目。
您是否也可以尝试以下命令:
nuget.exe locals all -clearhttps://stackoverflow.com/questions/69174062
复制相似问题