web-dev-qa-db-ja.com

追加されたサービス参照にアクセスできません

私はmvc4 Webプロジェクトにサービス参照を追加し、デフォルトのネームスペース「ServiceReference1」のままにしておきましたが、そのネームスペースを使用したい場合、Visual Studioはそれが存在しないなど、それを見つけることができません。正常に動作します。私は正確に何を間違っていますか?

28
arash moeen

私は解決策を見つけました [〜#〜] here [〜#〜] これはHoakieが以下に述べたように指示が私のために働き、今私のreference.csが正しく生成されている:

1)サービス参照を右クリック

2)[サービス参照の構成]を選択します

3)「参照アセンブリでタイプを再利用する」のチェックを外します

そして出来上がり!

76
arash moeen

これは、class nameと同じsamenamespace nameが原因です。

名前空間の変更クラスと同じ名前ではない名前に変更すると、コンパイルされます

8
Sai Avinash

サービス用にVisual Studioによって生成されたプロキシクラスを調べ、名前空間とクラス名を確認します

2
Reza

よく見落とされるもう1つの問題は、サービス参照によって、プロジェクトのルート名前空間がサービス構成で指定した名前空間に追加されることです。

つまり、サービスの名前空間がServiceReference1である場合、作成される実際の名前空間は[RootNameSpace] .ServiceReference1になります。 RootNameSpaceは通常、プロジェクトの名前です。したがって、ほとんどの場合、[projectname。]にサービス参照を追加するだけで修正できます。プロジェクトの名前がMyProjectの場合、名前空間はMyProject.ServiceReference1になります

また、メモ帳でcsproj(C#プロジェクトを想定)ファイルを開き、「RootNamespace」を検索してプロジェクトのルート名前空間を見つけるのも非常に簡単です。

2
Achilles