0

ServiceStack の Web サイトには、Windows (Nuget) のビルド/インストール手順があります。mono ベースの ServiceStack について言及している記事はたくさんありますが、たとえば Centos でビルドする方法についての説明はありません。WindowsにServiceStackをダウンロードして構築し、ファイルをCentosに持ち込もうとしました。これまでのところ、mono-fastcgi との統合ではうまくいきませんでした。ブラウザーにエラーが表示されます:「パーサー エラー メッセージ: タイプ ServiceStack.Examples.Host.Web.Global が見つかりません」など。この特定のエラーは、動作する ServiceStack インストールに向けてさらに進むことができない限り、実際には私の質問ではありません。本当の問題は、ServiceStack をインストールして Centos 上に構築する最良の方法は何かということです。(そして、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]# 

コマンドラインナゲットの使用に関するアイデアはありますか?

4

1 に答える 1

2

あなたは、Mono を CentOS でビルドすることに成功したと述べました。

ソースから ServiceStack をビルドしないでください:

可能ですが、不要です。Windows から持っている可能性のある既存の ServiceStack dll をコピーできます。特別なビルドは必要なく、CentOS で自分でビルドする必要もありません。

ビルド手順はありません ... NuGet を使用します。

ソースから ServiceStack をビルドする手順がまったくないため、CentOS で ServiceStack をビルドするための具体的な手順はありません。推奨される方法は、NuGet から ServiceStack dll を取得することです。ただし、CentOS マシンを開発マシンとして使用している場合にのみ、これを行う必要があります。その場合は、NuGet コマンド ライン ツールをダウンロードできます。次に、単に実行します。

mono nuget.exe インストール ServiceStack

次に、開発用 IDE (monodevelop をお勧めします) で、NuGet によってダウンロードされたファイルを参照します。CentOS で Mono および MonoDevelop を実行する方法については、こちらを参照してください。

無効な証明書の警告:

これは、Mozilla の信頼されたルート証明書プロバイダーを単一の信頼されたプロバイダー ストアに追加していない場合に発生します。このアクションを 1 回実行するだけで、mono は標準の信頼できるソースからの SSL 証明書を信頼し始めます。

mozroots --import --sync

Mono SSL セキュリティの詳細については、こちらを参照してください。

デプロイ中:

これは、公開されたプロジェクトを CentOS にコピーし、ドキュメントの構成手順に従うだけの場合です。apt-getを使用してインストールする代わりに、を使用nginxする必要がありますyum。ただし、nginx と fastcgi の構成は同じです。

于 2014-02-21T09:39:34.377 に答える