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



我有一个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)中创建一个新项目,该解决方案具有与上面的服务引用完全相同的服务引用。

在创建了一个新的解决方案和一个新项目(与上面的项目具有相同的属性)后,我尝试将上面子文件夹中的以上现有文件添加到我的新项目中。我创建了一个名为"Service References"的新文件夹以及与上面同名的子文件夹。但是,当我构建项目时,我得到了错误,例如,

在Reference.svcmap:中

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

在Reference.cs 中

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

我的项目中的文件夹"Service References"和旧项目中的不同之处在于,旧项目中"Service References"下只有两个子文件夹名称,并且文件夹中没有文件显示在项目中。但是,在我的项目中,所有文件都会显示出来,因为我将它们添加为现有项。

当我右键单击项目并通过在"地址"部分粘贴路径("服务引用"所在的位置)来添加服务引用时,我得到了错误:

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

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

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

我以管理员身份运行VS2013。

如何正确添加服务引用?

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

您必须右键单击项目->添加…->服务引用,然后将路径粘贴到wsdl文件。对每项服务都这样做。

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

最新更新