2017-01-10 157 views
0

我有一個VS2013 C#.net 4.0解決方案,並且其中一個C#項目(控制檯應用程序)有一個名爲「Service References」的文件夾。 在文件夾中,有兩個子文件夾在新解決方案中添加現有服務引用到新項目

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 

現在,由於種種原因,我要創建一個新的解決方案具有完全相同的服務引用的上述一個新的項目(VS2013 C#.NET 4.0) 。

創建新解決方案和新項目(與上述項目具有相同的屬性)後,我嘗試將上述子文件夾中的上述現有文件添加到我的新項目中。 我創建了一個名爲「服務引用」的新文件夾和與上述名稱相同的子文件夾。 但是,當我生成項目,我得到了錯誤,例如,

在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)

的文件夾之間的差異「服務引用「在我的項目和舊項目中是您在舊項目中的」服務引用「下只有兩個子文件夾名稱,並且文件夾內沒有文件顯示在項目中。但是,在我的項目中,所有文件都顯示出來,因爲我將它們添加爲現有項目。

當我右鍵單擊該項目,並在「地址」部分粘貼路徑(這裏的「服務引用」所在地)添加服務引用,我得到了錯誤:

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.

我運行VS2013作爲管理員。

如何正確添加服務引用?

回答

0

請勿將此文件夾作爲文件添加到項目中。

您必須右鍵單擊項目 - >添加... - >服務參考,然後將路徑粘貼到wsdl文件。爲每項服務做到這一點。

此外,如果您的兩個項目都在一個解決方案中,您可以添加對包含此服務的項目的引用,並且生成的代碼將在項目之間共享。右鍵單擊項目 - >添加... - >引用 - >解決方案並檢查包含服務的項目。

+0

當我在添加服務引用中的地址框中添加.wsdl文件路徑,並按下「Go」,然後確定,我得到錯誤:「」無法檢出當前文件,該文件可能是隻讀的,或者你可能需要手動檢查文件「 – Lily

+0

似乎你仍然有'service reference'文件夾包含在項目和visual studio塊訪問它。嘗試關閉VS,從解決方案目錄中刪除文件夾,然後打開VS,從解決方案資源管理器中刪除文件夾(它將清除它在.csproj文件中),再次添加 - >服務引用 - >路徑wsdl(wsdl此時不在解決方案目錄中)。 – Anton

+0

這些服務是否有地址,您可以通過右鍵單擊服務並選擇「配置服務引用...」選項來找到它。如果您在此處找到地址,請使用它來執行步驟安東提到 –

相關問題