我目前正在尝试建立自己的nuget存储库(如nuget.org)。
为此,我看了Nuget.Server。但是,当运行此解决方案时,它崩溃了,可以从nuget.org下载一些软件包(例如opencart.entities 1.0.2)。
它在ServerPackageStore.cs的第83行中崩溃:
var tasks = _repository
.GetPackages()
.Select(package =>
TryAddServerPackageAsync(allPackages, package, enableDelisting, token))
.ToList();
引发异常的函数是GetPackages(),这是nuget-package nuget.core中的函数。为了重写该函数,接受抛出的异常并继续,我从Nuget2下载了源代码,并试图通过克隆仓库来构建它并运行build.cmd:
C:\ Users \ Jonathan \ Desktop \ NuGet2>。\ build.cmd Microsoft(R)Build Engine版本14.0.25420.1 版权所有(C)Microsoft Corporation。保留所有权利。
Target framework is v4.0. VisualStudioVersion is 14.0.
C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(2719,5):
error MSB3552: Resource file "..\..\NuGet.Client\src\NuGet.Core\NuGet.Frameworks\Strings.resx" cannot be found.
[C:\Users\Jonathan\Desktop\NuGet2\src\Core\Core.csproj]
当尝试使用Visual Studio 2015和2017 Community Edition进行构建时,会发生相同的错误。
如何构建Nuget2存储库,或者还有另一种方法可以解决Nuget.Server的问题?
答案 0 :(得分:1)
我该如何构建Nuget2存储库,或者还有另一种方法 用Nuget.Server解决我的问题?
您还需要下载解决方案NuGet.Client,并将其解压缩到当前解决方案的文件夹NuGet.Client
中。
下载解决方案NuGet2时,您会发现文件夹NuGet.Client
是空的。这就是您收到该错误的原因:
“错误MSB3552:资源文件 “ .... \ NuGet.Client \ src \ NuGet.Core \ NuGet.Frameworks \ Strings.resx” 找不到。”
要解决此错误,请下载NuGet.Client解决方案并将其解压缩,将文件夹NuGet.Client-49234c230df0fc01868d8b90e667af89be8cc4f6
中的所有内容复制到NuGet.Client文件夹中,然后构建项目。
希望这会有所帮助。