在新解决方案中将现有服务引用添加到新项目

时间:2017-01-10 15:23:42

标签: c# windows-7 service-reference

我有一个VS2013 C#.net 4.0解决方案,其中一个C#项目(控制台应用程序)有一个名为“服务引用”的文件夹。 在该文件夹中,有两个子文件夹

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中:

  

错误1自定义工具错误:生成文件失败:系统找不到指定的文件。 (来自HRESULT的异常:0x80070002)C:\ MyPATH \ MyProject \ serviceReference \ MyReference2 \ Reference.svcmap

参考文献

  

错误5命名空间'System'中不存在类型或命名空间名称'ServiceModel'(您是否缺少程序集引用?)C:\ MyPATH \ MyProject \ serviceReference \ MyReference1 \ Reference.cs(该文件为auto - 由工具生成)

我的项目和旧项目中的“服务引用”文件夹之间的区别在于,旧项目中的“服务引用”下只有两个子文件夹名称,项目中没有文件夹中的文件。但是,在我的项目中,显示所有文件,因为我将它们添加为现有项目。

当我右键单击项目并通过粘贴“地址”部分中的路径(“服务引用”所在的位置)添加服务引用时,出现错误:

  

下载'C:\ MyPath \ Service References'时出错。

     

拒绝访问路径'C:\ djx_2014_6_3 \ MyPath \ Service References'。

     

如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

我以管理员身份运行VS2013。

如何正确添加服务引用?

1 个答案:

答案 0 :(得分:0)

不要将此文件夹作为文件添加到项目中。

您必须右键单击项目 - >添加... - >服务引用然后粘贴到wsdl文件的路径。为每项服务执行此操作。

此外,如果您的两个项目都在一个解决方案中,您只需添加对包含此服务的项目的引用,生成的代码将在项目之间共享。右键单击项目 - >添加... - >参考 - >解决方案并检查包含服务的项目。