【发布时间】:2013-05-15 10:28:17
【问题描述】:
假设我在一个名为 Org.Company 的命名空间中工作,并且该命名空间包含 MyClass。
我还导入了一个名为 Company 的命名空间的 nuget,其中一个名为 OtherClass 的类。
所以,当我在 Org.Company 命名空间中工作时,我无法执行以下操作:
Company.OtherClass obj;
因为编译器假定我的实际意思是:
Org.Company.Otherclass obj
不存在的。
所以,据我所知,我实际上必须导入另一个命名空间,而不是使用完全限定名称 using Company;
但是,问题是我需要从 XML 文件(温莎城堡配置文件)引用此 OtherClass,而完全限定名称 Company.OtherClass 不起作用。
有没有解决的办法?更改命名空间名称不是一个可行的选择。
编辑: 这就是我的 Castle Windsor xml 文件中的内容
<using assembly="MyProj, Version=1.0.0.0, Culture=neutral" />
...
<component
service="Company.IOtherClass"
type="Company.OtherClass"
/>
我收到以下错误:
{"Could not convert string 'Company.OtherClass' to a type. Make sure assembly containing the type has been loaded into the process, or consider specifying assembly qualified name of the type."}
可能是因为它查看的是 Org.Company 内部,而是在 MyProj 程序集中定义的。
如果有办法添加另一个引用 Nuget 包的 <using /> 语句,我认为可以解决此问题...有没有办法做到这一点?
【问题讨论】:
-
温莎城堡是否返回任何错误消息?或者您可以在其中使用完全限定名称,包括程序集吗?
标签: c# .net namespaces castle-windsor