为什么一个项目中的公共类型对其他项目不可见?

时间:2013-11-25 07:28:03

标签: c# .net types import

我有项目 XTime.Sephaku.GenSync.Plugin ,它将SAP IDoc转换为我们的内部数据库结构。它构建得很好,如果我把它的类放到一个控制台应用程序中,该应用程序运行正常,所以插件代码很好。

然后我有Console项目 Tester ,引用了插件的输出程序集 XTime.Sephaku.GenSync.Plugin * 。它没有看到插件中的任何公共类型,尽管该程序集是刚刚构建的,并且公共类型都在对象浏览器中可见。我为using语句复制并粘贴了命名空间,以确保我没有拼写错误。名称空间和公共类型也在 dotPeek的反编译代码中都​​可见。

这就像是告诉 XTime.Sephaku.GenSync.Plugin ,不允许其他项目使用它的类型。

***请参阅我的Why do I get a warning icon when I add a reference to an MEF plugin project?,了解我为什么不引用该项目,而是参考程序集。

1 个答案:

答案 0 :(得分:1)

将我的评论转换为答案:

您的Tester项目不能具有比引用的插件更高版本的.NET 您需要确保引用项目的.Net版本与插件版本相同或更高。

你可以更多地了解它here