【发布时间】:2010-11-16 16:12:40
【问题描述】:
answer = 问题很简单,我们有一个带有函数的公共库。该服务是一个新功能,有人在这个公共领域尝试过,并且仍然存在于项目引用的那个中。 这导致项目有 2 个相同的命名空间(一个在公共 dll 中,一个在服务中)。
由于服务在 IIS 中的权限,我们在添加此引用时遇到了问题。我们解决了这个问题,但是,当再次添加引用时,似乎只添加了部分引用。它确实出现在服务列表中,但没有出现在应用配置中,并且无法使用(intellisense 找不到它,手动输入也不起作用)。
如果我们在不同的项目中尝试此操作,它确实可以完美添加,并且我们已尝试在读取它之前删除任何我们可以找到的关于引用的内容(子文件夹,在记事本中打开项目并删除那里的所有引用),但似乎没有任何效果。
当以类似的方式删除和读取此项目的不同服务时,我们可以将其添加到同一解决方案中的不同项目中,而不是在此项目中。
有人知道为什么会发生这种情况以及可能的解决方案吗?
编辑:当我们在同一个解决方案中重新创建项目并拖动所有类等时,我们可以根据需要添加和删除此引用。尽管这可以算作一个解决方案,但我实际上想知道为什么事情会像它们发生的那样发生,而不是在事情似乎陷入困境时重新创建项目。 Visual Studio 中是否有可能导致此问题的缓存或其他东西?
此外,有时需要更长的时间(或永远找不到)才能找到服务,而其他时间则需要不到 1 秒的时间。获得它的最佳方法似乎是停止并开始搜索。不确定它是否相关,但我的电脑和我们使用的另一台电脑之间似乎确实存在差异。
Edit2:我们也尝试过删除服务文件夹,重新添加服务会重新创建文件夹并添加此引用它不起作用。如果我们在删除文件夹后添加不同的服务,则该引用确实有效。之后添加我们要添加的引用不会使其工作。
Edit3:在另一个项目中,我可以将它添加一次,但删除引用然后重新添加它使其不再工作。对这个类似的引用,我可以在同一个项目中删除和重新添加任意多次,并且它会继续工作。在删除后重新添加并给出“找不到类型或命名空间”错误时,始终找不到此引用。
我们还尝试更改解决方案和项目 GUID,但仍然无法在项目中正确添加服务引用。)
**Edit4:在配置服务参考中关闭引用程序集中的重用类型时。Visual Studio 对话框将信息添加到 Reference.cs 页面,使该页面为空。取消选中此框会添加对该文件的所有引用并使服务引用工作。
但是我可以使用大部分参考,但我缺少入口点,这意味着我无法运行它。
这是我取消勾选以便进一步了解的对话框。
【问题讨论】:
-
这可能不是同一个问题,但不妨看看这篇文章:bursjootech.blogspot.com/2008/06/…
-
这不是问题,但让我走得很远,谢谢。
-
我看到了区别:ERPFeedService/ERPFeedService.svc -> SNService/SNService.svc?wsdl
-
也许您需要使用 ERPFeedService/ERPFeedService.svc?wsdl -> 您的 svc 可能会指定一个不存在/外部的 wsdl
-
我们在另一台电脑上重新运行了该命令,并将其复制到第一个电脑上。一切正常,但更多时候使用该服务会导致服务器不匹配。多次重复该过程确实可以使其偶尔工作,但不像返回类型不匹配那样频繁。
标签: c# .net c#-4.0 wcf project