C# 在Razor中的不同项目中使用链接文件时,类引用不明确?

C# 在Razor中的不同项目中使用链接文件时,类引用不明确?,c#,.net,asp.net-mvc,razor,C#,.net,Asp.net Mvc,Razor,我有5到6个项目。项目A和B通过链接文件使用相同的文件。现在,如果我在Razor中使用这个类,我会得到 The call is ambiguous between the following methods or properties: 因为Razor视图引用bin中的所有DLL。它引用的是项目A和B中的同一个类。如何在编译期间告诉Razor使用项目A而不是项目B 您应该使用完整的名称空间 Solution.ProjectA.MyClass 也包括部件时,不应使用链接文件。为什么需要引用的类

我有5到6个项目。项目A和B通过链接文件使用相同的文件。现在,如果我在Razor中使用这个类,我会得到

The call is ambiguous between the following methods or properties:

因为Razor视图引用bin中的所有DLL。它引用的是项目A和B中的同一个类。如何在编译期间告诉Razor使用项目A而不是项目B

您应该使用完整的名称空间

Solution.ProjectA.MyClass

也包括部件时,不应使用链接文件。为什么需要引用的类两次?那没有意义

您必须将该文件放在一个单独的项目中,并在a、B和您的MVC项目中引用该文件。这使您不再需要链接的文件


另一种方法是获取程序集,并从该程序集中使用反射获取类型,然后调用该方法。

ASP.NET Razor视图允许您像在普通cs类中一样使用语句。您只需要添加@符号

@using MyNamespace.ProjectA

它的工作原理与cs类相同。

我知道这是一个棘手的答案,但您可以在两个项目中的一个项目中添加另一个类,该类将从共享类继承


然后,您可以在Razor中使用这个新类,而不会出现任何问题

是什么使Razor与其他所有.NET项目不同?编译Razor视图时,它将引用bin文件夹中的所有DLL。不过,您在链接文件中包括一个引用和一个类。这是行不通的。@user960567 Patrick Hofman是对的,创建一个项目并放置一个类与这个链接文件通信,让项目a和b引用这个新项目c,这样你就可以摆脱problem@user960567:需要更多帮助吗?我说的是具有相同命名空间的同一类。简言之,我需要外部别名为什么不使用签名?至少不要使用链接文件并将它们分开以避免重叠!