我正在尝试使用 MS Robotics Studio 和 VS 2008 构建 DSS 服务,但是在构建时,我收到来自 dssproxy.exe 的错误消息:
The class MyServiceName has a ContractAttribute but the contract is different from that of the namespace.
并且构建失败,因为 dssproxy 返回代码 10。有谁知道这条消息是什么意思?
契约(Contract)标识符在类型类文件中声明并在属性声明中使用,就像添加新项目 > Dss 服务向导构建它们的方式一样。我的理解是标识符只是一个唯一的字符串。这是试图告诉我它必须以某种方式匹配我的命名空间吗?
如果我再次构建,错误就会消失,但是如果我在构建之前强制重建或清理,它就会回来。
谢谢,
安迪
最佳答案
我自己想通了:如果契约(Contract)标识符包含大写字母,则会发生此错误,即使它与 list 完全匹配。类型和 list 中的标识符都必须全部小写。不幸的是,“添加新项目”对话框不会阻止您为此输入大小写混合。 :(
关于namespaces - MS 机器人工作室 : "contract is different from that of the namespace",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/412075/