0

ServiceStack 网站有 Windows (Nuget) 的构建/安装说明。有很多帖子提到了基于单声道的 ServiceStack,但从来没有任何关于如何在 Centos 上构建的说明。我在 Windows 上下载并构建了 ServiceStack,并试图将文件带到 Centos。到目前为止,这不适用于我与 mono-fastcgi 的集成。我在浏览器中遇到错误:例如“解析器错误消息:找不到类型 ServiceStack.Examples.Host.Web.Global”。这个特定的错误并不是我真正的问题,除非它能让我更进一步地安装有效的 ServiceStack。真正的问题是在 Centos 上安装和构建 ServiceStack 的最佳方式是什么?(让 Nuget 在 Centos 上工作并不是一个解决方案……至少我无法让 Nuget 构建)。

在与 Scott 讨论以下列出的步骤后,nuget.exe 命令行包管理器收到以下错误:

[root@buffer1 nuget]# /usr/local/bin/mono nuget.exe install ServiceStack -Verbosity detailed -ConfigFile /root/nuget/NuGet.config 
WARNING: Invalid certificate received from server. Error code: 0xffffffff800b010a
System.InvalidOperationException: Unable to find package 'ServiceStack'.
  at NuGet.PackageRepositoryHelper.ResolvePackage (IPackageRepository sourceRepository, IPackageRepository localRepository, IPackageConstraintProvider constraintProvider, System.String packageId, NuGet.SemanticVersion version, Boolean allowPrereleaseVersions) [0x00000] in <filename unknown>:0 
  at NuGet.PackageRepositoryHelper.ResolvePackage (IPackageRepository sourceRepository, IPackageRepository localRepository, System.String packageId, NuGet.SemanticVersion version, Boolean allowPrereleaseVersions) [0x00000] in <filename unknown>:0 
  at NuGet.PackageManager.InstallPackage (System.String packageId, NuGet.SemanticVersion version, Boolean ignoreDependencies, Boolean allowPrereleaseVersions) [0x00000] in <filename unknown>:0 
  at NuGet.Commands.InstallCommand.InstallPackage (IFileSystem fileSystem, System.String packageId, NuGet.SemanticVersion version) [0x00000] in <filename unknown>:0 
  at NuGet.Commands.InstallCommand.ExecuteCommand () [0x00000] in <filename unknown>:0 
  at NuGet.Commands.Command.Execute () [0x00000] in <filename unknown>:0 
  at NuGet.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[root@buffer1 nuget]# 

关于使用命令行 nuget 的任何想法?

4

1 回答 1

2

你提到你已经设法让 Mono 在 CentOS 上构建。

不要从源代码构建 ServiceStack:

虽然有可能,但这是不必要的。您可以从 Windows 复制现有的 ServiceStack dll;你不需要特别的构建,也不必在 CentOS 上自己构建它们。

没有构建说明......使用 NuGet:

没有关于在 CentOS 上构建 ServiceStack 的具体说明,因为根本没有从源代码构建它的说明。推荐的方法是从 NuGet 获取 ServiceStack dll。但是,如果您使用 CentOS 机器作为您的开发机器,您只会想要这样做。在这种情况下,您可以下载 NuGet 命令行工具。然后简单地运行:

单 nuget.exe 安装 ServiceStack

然后在您的开发 IDE(我推荐 monodevelop)中引用 NuGet 下载的文件。有关如何在 CentOS 上运行 Mono 和 MonoDevelop的说明,请参阅此处。

无效证书警告:

当您尚未将 Mozilla 受信任的根证书提供程序添加到 mono 受信任的提供程序存储时,会发生这种情况。您只需执行一次此操作,mono 将开始信任来自标准可信来源的 SSL 证书:

mozroots --import --sync

有关 Mono SSL 安全性的更多信息,请参见此处

部署:

这只是将您发布的项目复制到 CentOS 并遵循文档中的这些配置说明的情况。除了使用apt-get来安装nginx,您将需要使用yum. 但是nginx和fastcgi的配置是一样的。

于 2014-02-21T09:39:34.377 回答