2017-01-10 24 views
0

私はVS2013 C#.net 4.0ソリューションを持っており、C#プロジェクト(コンソールアプリケーション)の1つに「サービス参照」というフォルダがあります。 フォルダでは、2つのサブフォルダ今新しいソリューションの新しいプロジェクトに既存のサービス参照を追加する

One is : MyReference1, it has files of 
    configuration.svcinfo 
    configuration91.svcinfo 
    MyApplication1.disco (web service Discovery File) 
    MyApplication2.wsdl (web service description language) 
    Reference.cs (Visual C# source file) 
    Reference.svcmap 

Another one is: MyReference2, it has files of 
    configuration.svcinfo 
    configuration91.svcinfo 
    MyApplication3.wsdl 
    MyApplication4.disco 
    MyApplication4_1.xsd 
    MyApplication4_2.xsd 
    MyApplication4_3.xsd 
    MyProject.MyReference.JobStatus.datasource (visual studio data source file) 
    Reference.cs 
    Reference.svcmap 

があり、いくつかの理由から、私は上記の1と全く同じサービスの参照を(VS2013のC#.NET 4.0の)新しいソリューションに新しいプロジェクトを作成する必要があります。

新しいソリューションと新しいプロジェクト(上記と同じプロパティを持つ)を作成した後、上のサブフォルダにある既存のファイルを新しいプロジェクトに追加しようとしました。 "Service References"という名前の新しいフォルダと上記と同じ名前のサブフォルダを作成しました。 しかし、私はプロジェクトをビルドするとき、Iまし例えばエラー、Reference.svcmapで

Error 1 Custom tool error: Failed to generate file: The system cannot find the file specified. (Exception from HRESULT: 0x80070002) C:\MyPATH\MyProject\serviceReference\MyReference2\Reference.svcmap

Reference.csで

Error 5 The type or namespace name 'ServiceModel' does not exist in the namespace 'System' (are you missing an assembly reference?) C:\MyPATH\MyProject\serviceReference\MyReference1\Reference.cs (the file was auto-generated by a tool)

フォルダの違い」私のプロジェクトと古いプロジェクトのサービス参照は、古いプロジェクトの "Service References"の2つのサブフォルダ名であり、そのフォルダ内のファイルはプロジェクトには表示されません。しかし、私のプロジェクトでは、既存のアイテムとして追加したので、すべてのファイルが表示されます。私はVS2013を実行

There was an error downloading 'C:\MyPath\Service References'.

Access to the path 'C:\djx_2014_6_3\MyPath\Service References' is denied.

If the service is defined in the current solution, try building the solution and adding the service reference again.

:私はプロジェクトを右クリックし、「アドレス」の部分で(「サービス参照」が配置されている)のパスを貼り付けることにより、サービス参照を追加し

、私はエラーを得ました管理者として

サービス参照を正しく追加するにはどうすればよいですか?

答えて

0

このフォルダをプロジェクトにファイルとして追加しないでください。

プロジェクト - >追加 - >サービス参照を右クリックし、パスをwsdlファイルに貼り付ける必要があります。各サービスでこれを行います。

両方のプロジェクトが1つのソリューションに含まれている場合は、このサービスを含むプロジェクトへの参照を追加するだけで、生成されたコードがプロジェクト間で共有されます。プロジェクト - >追加 - >参照 - >ソリューションを右クリックし、サービスを含むプロジェクトをチェックします。

+0

サービス参照の追加でアドレスボックスに.wsdlファイルのパスを追加して「移動」を押した後に[OK]をクリックすると、現在のファイルをチェックアウトできませんでした。または単にロックアウトするか、手動でファイルをチェックする必要があるかもしれません。 – Lily

+0

プロジェクトに含まれている 'service reference'フォルダがまだ存在していると思われます.VSを閉じてソリューションカタログからフォルダを削除し、 VSを開き、ソリューションエクスプローラからフォルダーを削除します(これは.csprojファイルでクリアされます)。再度、Add - > Service reference - > wsdlへのパス(この時点でwsdlはソリューションディレクトリにありません)。 – Anton

+0

これらのサービスにはアドレスがありますが、このサービスを右クリックして "Configure Service Reference ..."オプションを選択すると見つけることができます。アントンによって立てられた –

関連する問題