我有一个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。
如何正确添加服务引用?
答案 0 :(得分:0)
不要将此文件夹作为文件添加到项目中。
您必须右键单击项目 - >添加... - >服务引用然后粘贴到wsdl文件的路径。为每项服务执行此操作。
此外,如果您的两个项目都在一个解决方案中,您只需添加对包含此服务的项目的引用,生成的代码将在项目之间共享。右键单击项目 - >添加... - >参考 - >解决方案并检查包含服务的项目。