1

これは奇妙です。

GitHub から最新のビルドServiceStack.Textをダウンロードしたところ、ビルド エラーが発生しました。

if (endpointUrl.IsNullOrEmpty() || !endpointUrl.StartsWith("http"))
 return null;

Error   1   No overload for method 'IsNullOrEmpty' takes 0 arguments
ServiceStack\src\ServiceStack.Common\Messaging\ClientFactory.cs 10  18
ServiceStack.Common

他にもたくさんのビルドエラーが発生しています:

エラー 35 'int' には 'Times' の定義が含まれておらず、タイプ 'int' の最初の引数を受け入れる拡張メソッド 'Times' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) ServiceStack.Redis\ src\ServiceStack.Redis\Messaging\RedisMqServer.cs 192 37 ServiceStack.Redis

ここに画像の説明を入力

ServiceStack ブランチをダウンロードした後、ServiceStack-master\src\ServiceStack.sln を開いてビルドしようとしたところ、完全に壊れてしまいました。

ここに画像の説明を入力

ここで何が起こっているのかわかりません。これほど多くのビルド エラーが発生する可能性はありませんか? そうではないことを祈りますが、そのようです。

この投稿の目的、私が尋ねていること、および明確化と解決の助けが必要なこと (神話???)

以下について、ServiceStack からの入力が必要です。

1)ビルドは本当にこれほど壊れていますか?私はこれを想像していますか?

2) GitHub のブランチ構造はいたるところにあります。つまり、重複したプロジェクト フォルダがいたるところにあり、この ServiceStack ブランチが何であるかわかりません。その src フォルダには大量のプロジェクト、さまざまなバージョン、およびServiceStack.Text などのプロジェクトがないため、ここで何が起こっているのかわかりません。サービス スタックの基本的なコアを使用したいのですが、GitHub のいたるところに繰り返しのようなものがあります。これをすべて解決するには ServiceStack が必要です。

これが私のコードです。ビルドされないことがわかります。

  • これは、ServiceStack プロジェクトに関しては ビルドされません。これは、必要な ServiceStack プロジェクトを、ServiceSTack を使用している自分のプロジェクトと一緒に含めようとしている私のソリューションです。私がしたことは、https://github.com/ServiceStackから個々のプロジェクトをダウンロードすることだけでした次に、それらをソリューションに追加し、相互の参照がバイナリではなくプロジェクト参照であることを確認しました。バイナリ参照を削除し、プロジェクト参照として再追加しました。たとえば、ServiceStack.Common は ServiceStack.Text に依存していますが、バイナリ経由で参照していたので、それを削除して ServiceStack.Text への参照をプロジェクト ref として再追加しました。ベーススタックコード。上記のエラーは、ServiceStack 関連プロジェクトのこのソリューションで発生しています。

  • これ はビルドされません- これは ServiceStack ブランチ マスターのダウンロードです (元のフォルダー名は ServiceStack-master で、-master を削除しました)

アップデート: はい、GitHub サイトにチェックインした悪いビルドであることを確認しました (上記の ServiceStack ブランチ マスターを参照)。ビルドの失敗の原因となっていた未使用の using ステートメントを削除する必要がありましたが、そのうちの 1 つは、ビルドの失敗の一部を引き起こした dup using ステートメントでした。私はこれに驚いています...このようなものがビルドされ、人々は正常にビルドされたコードをチェックインするはずです! 一般!はい、神話です。あなたの API を使用しようとする開発者は、常にビルド エラーが非常に多いことに腹を立てるでしょう。ビルドできないソリューションはこれだけではないため、プロトタイプを実行することさえできません。最初はサンプル ソリューションがすべて機能しなくなり、現在はコアになっています。できれば直してあげたいけど、正直信じられない」

ここに画像の説明を入力

  • これは Nuget がダウンしたため ビルドされます。したがって、ServiceStack は lib フォルダー内のバイナリ参照を介して他のレイヤーを参照しているため、これがビルドされます...おそらく、誰かがすべてのコア プロジェクトにまたがるビルドのワーキングセットを持っているが、サイト上のものがあるため、ここにビルドされます。プロジェクト参照 (ソース コード) として使用しようとすると、ダウンロード用のリビジョンが同じではなく、壊れていますか?? libフォルダーへのバイナリ参照を使用している場合にのみ構築しているため、私の結論です。バイナリではなくソースをソリューション内で機能させたいので、これは私にとってレンガの壁です
4

4 に答える 4

1

現在、master で多くの大きな変更が行われています - しばらく不安定になるでしょう。

v3-fixes タグから分岐するか、nuget から参照をプルすることをお勧めします。

于 2013-09-26T14:58:13.837 に答える
1

@コーヒーアディクト

昨日、神話はあなたの前の質問でこれらの問題について答えました

「@CoffeeAddict 前に言ったように、ServiceStack は大幅なリファクタリングを行っており、アルファ版をマスターしており、一般には使用されていません。すべてはまだ私のためにビルドされ、テストはまだ CI で合格していますが、ベータ版になるまでは不安定になることがよくあります。あなたは」技術的に互換性のない v3 と v4 dll が混在している可能性があります. NuGet でのリリースは各プロジェクトの v3 ブランチから外れています. src からビルドする場合は、それをチェックアウトする必要があります. 貢献は v3 修正のみに対して行う必要があります - を参照してください詳細については、ドキュメントを寄稿してください。 – mythz 9 時間前"

于 2013-09-26T15:02:10.173 に答える
-3
To compile v3: 
Would someone with true knowledge post PROPER instructions on compiling v4 or v3? I had no luck with the build.bat files for v3 or v4, and opening solutions will not compile for most. 

git clone servicestack, servicestack.text, redis, ormlite

make a new directory and copy from under src so you have these:

ServiceStack
ServiceStack.Client
ServiceStack.Common
ServiceStack.Interfaces
ServiceStack.OrmLite
ServiceStack.Redis
ServiceStack.Server
ServiceStack.Text

open csproj for ServiceStack.Interfaces ... right click properties, go to the signing tab, click the combo, new, type in your own signing pfx, I used servicestackInterfaces.pfx (doesn't matter) and make up a password.
Compiles fine, since it has not much referenced.

saved solution as ServiceStackV3 in folder C:\2015\SSv3compile

add csproj ServiceStack.Text, set signature, compiles ok

add csproj ServiceStack.Common, set signature, remove references, add references using solution for interface, text, compiles ok

add csproj ServiceStack.Client, set signature, remove references, add references  using solution for interface, text, compiles ok

add csproj ServiceStack, set signature, remove references, add references  using solution for client, common, interface, text, compiles ok

add csproj ServiceStack.OrmLite, set signature, remove references, add references  using solution for common, interface, text, compiles ok

add csproj ServiceStack.Redis, set signature, remove references, add references  using solution for common, interface, text, compiles ok

add csproj ServiceStack.ServiceStack.Server, set signature, remove references, add references  using solution for Servicestack, ServiceStack.Client, ServiceStack.Common, ServiceStack.Interface, ServiceStack.Text, ServiceStack.Ormlite, ServiceStack.Redis

compiles ok

have some more trouble compiling the tests...

そして、非常に多くの微調整や変更を見つけるのは気が狂ってしまいます (*.cs で "namespace ISomethinMissing" を検索する無限のエージェント転送

... Servicestack 以外のプロジェクトに含まれる cs コードを含む名前空間 ServiceStack があるようです... それは非常に不適切ではありませんか? (今は両方のDLLが必要ですか?なぜ1つではないのですか?)何でも...無料で、私が望んでいたものに機能します。

looks like there is some code leakage from v4...   

after getting my head around v3, not sure I want to buy v4 - I will probably buy it in the future, I expect, and hope someday I can just clone and compile from the solution

とにかく、私はservicestackが大好きで、古いWebサービスとWCFの設定の悪夢をとても幸せに置き換えています...

最初の手間をかけるだけの価値があると私は言います。

これをすべてコード ブロックに入れました。番号付きリストにある場合、この単純なテキストをエディターが受け入れないことがわかったからです。なんでもいい。

于 2015-01-31T23:19:14.627 に答える