我目前正在尝试构建自己的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( 构建引擎版本 14.0.25420.1 版权所有 (C( Microsoft 公司。保留所有权利。
Target framework is v4.0. VisualStudioVersion is 14.0.
C:Program Files (x86)MSBuild14.0binMicrosoft.Common.CurrentVersion.targets(2719,5):
error MSB3552: Resource file "....NuGet.ClientsrcNuGet.CoreNuGet.FrameworksStrings.resx" cannot be found.
[C:UsersJonathanDesktopNuGet2srcCoreCore.csproj]
尝试使用 Visual Studio 2015 和 2017 社区版构建它时,会发生相同的错误。
如何构建 Nuget2 存储库,或者是否有其他方法可以解决 Nuget.Server 的问题?
如何构建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 文件夹,然后生成项目。
希望这有帮助。