我的解决方案中有一个ASP.NET WebSite项目,还有其他类库项目都针对.NET 4.0。它可以在每个开发人员的计算机上正常工作,除了一个。
.NET 4.0中的Linq没有Prepend
扩展方法,所以我们自己创建了一个,在一个开发人员的计算机上,网站崩溃时出现运行时错误,指出Prepend在我们的命名空间和Linq命名空间之间是不明确的。
Prepend最初是在.NET 4.7.1中引入的,我们没有针对它。我们检查了bin目录,System.Core.dll是4.0。我们检查了所有其他DLL的清单,以确保它们依赖于System.Core 4.0。
我们还需要检查什么?
答案 0 :(得分:0)
ASP.NET应用程序直接针对.NET Framework文件夹中的文件进行编译(即直接针对实现)。由于.NET Framework是就地更新,因此较新版本的Framework将覆盖已存在于同一文件夹中的文件。
你可以做的一件事是直接调用你的Prepend方法(即完全限定的名字)而不是扩展方法。