更新 C# .NET 网站项目中的 dll 后“/”应用程序中的服务器错误

Server Error in '/' Application after updating a dll in a C# .NET website project

我们有一个由第三方开发和维护的 C# .NET 网站。我将很快接管一般维护工作,因此我正在尝试让系统运行,以便我可以维护本地副本并将更新部署到网站。我们需要让我们两个人至少再工作一个月,之后我就靠自己了。

我们有源代码的 SVN 和生产发布代码的 SVN。我可以拉出解决方案,经过一番努力后,我可以在本地毫无问题地构建和 运行。我用的是Visual Studio 2015,目标框架是4.0.

我可以更新 cshtml 文件,在本地构建、发布,然后将这些文件复制到网站发布的版本上,运行没问题。

然而,生成的 bin/dlls 如果复制到网站版本中,会产生这个惊人的错误:

http://website.com/Error/InternalServerError?aspxerrorpath=/
Server Error in '/' Application. Runtime Error. 
Description: An exception occurred while processing your request. 
Additionally, another exception occurred while executing the custom error page for the first exception. 
The request has been terminated.

如果我从原来的 dll 复制回来,它工作正常。

如果我不修改代码,只是构建并发布项目,我的dll 仍然与网站版本大小不同。

开发者正在使用 Visual Studio 2012,这是一个因素吗?为什么我的本地版本(运行 没问题)的 dll 不同,如果我下载源代码并且 build/publish 它没有任何变化?

顺便说一下,有问题的 dll 是网站本身的一个,website.dll 说,还有一个是 'objects' 他们已经将大量功能转储到其中来做各种事情,objects.dll,这是我唯一要复制的两个 - 所有其他 dll 的大小在我的和网站版本之间匹配。

我对此很陌生,所以可能在这里犯了一些基本错误,但如果我是,那么我们的开发人员就没有注意到这些错误。我的意思是,我对它们的不同并不感到惊讶,您肯定需要部署整个项目,而不仅仅是将一些 dll 放到现有的已发布文件夹中?我的开发人员说这是我们能做到的唯一方法...

有什么建议可以尝试吗?

提前致谢。

好吧,经过大量的反复试验,我终于找到了目前适合我的解决方案:

使用 nuget 包管理器,我将相关项目恢复到 Microsoft.AspNet.Mvc 版本 4.0.40804。这似乎已将所有引用和运行时更新回项目构建时使用的 4.0.0.0。

当我跨主要 dll 构建、发布和复制时,站点现在运行,而不是显示 'Server Error in '/' 应用程序。运行时错误'

有一件事,运行 这么旧的版本有安全隐患吗?也许这需要一个新问题...

感谢大家的帮助。