2

私は現在、SignalRを使用したプロジェクトに取り組んでいます。私の本番サーバーでは、に自動生成されたjsファイルがありません~/signalr/hubs。このソリューションを試してみたかった: SignalRが本番サーバーで機能しない

しかし、この行をのapplication_startメソッドに追加しようとするglobal.asaxと、プロジェクトはビルドされなくなります。インテリセンスは拡張メソッドを知っていて提案していますが!

名前空間を。で参照しましたusing SignalR;。これを拡張メソッドとして呼び出し、オブジェクトインスタンスを最初のパラメーターとして静的メソッドとして呼び出してみました。正確なエラーメッセージ:

拡張メソッドとして呼び出す場合:

Error   1   'System.Web.Routing.RouteCollection' does not contain a definition for 'MapHubs' and no extension method 'MapHubs' accepting a first argument of type 'System.Web.Routing.RouteCollection' could be found (are you missing a using directive or an assembly reference?)

静的メソッドとして呼び出す場合:

Error   1   The type or namespace name 'RouteExtensions' does not exist in the namespace 'SignalR' (are you missing an assembly reference?) 

なぜこれが起こるのか、そして問題を解決する方法を知っている人はいますか?よろしくお願いします!

4

1 に答える 1

6

私はそれがこれらの理由の1つである可能性があるとかなり確信しています:

  • プロジェクトには、プロジェクトに追加されていないアセンブリへの参照が必要です。
  • プロジェクトは、参照されているアセンブリと互換性のある.NET Frameworkバージョンを使用していますか?

あなたの与えられた情報では、正確な理由を特定するのは難しいでしょうが、私はあなたにいくつかの役立つヒントを提供したと思います。

インテリセンスが拡張メソッドのようなものを示唆しているという事実は、プロジェクトが適切に機能するために必要な参照を持っていることを意味するわけではありません。

于 2012-12-19T14:11:46.817 に答える