我们有一个由第三方开发和维护的C#.NET网站。我很快就会接管一般的维护工作,所以我试图让系统进入我可以维护本地副本并部署网站更新的地方。我们需要让我们两个人继续工作至少一个月,之后我就自己工作了。
我们有源的SVN和生产发布代码的SVN。我可以提出解决方案,经过一些工作后我可以在本地构建和运行没有问题。我使用的是Visual Studio 2015,目标框架是4.0。
我可以更新cshtml文件,在本地构建,发布,然后通过网站发布的版本复制这些文件,它运行正常。
然而,如果复制到网站版本中,生成的bin / dll会产生这个神话般的错误:
0
如果我从原版复制dll,它可以正常工作。
如果我不修改代码,只是构建和发布项目,我的dll仍然与网站版本不同。
开发人员正在使用Visual Studio 2012,这是一个因素吗?为什么我的本地版本(运行正常)的dll不同,如果我下载源并构建/发布它没有任何更改?
有问题的dll是网站本身的唯一网站,例如website.dll,以及一个用于'对象'他们已经为了做各种事情而丢弃了大量的功能,objects.dll,这些是我试图复制的唯一两个 - 所有其他dll在我和网站版本之间的大小匹配。
我对此很陌生,所以可能会在这里犯一些根本性的错误,但如果我是,那么我们的开发人员就不会接受它们。我的意思是,我们并不感到惊讶,他们不同,当然你需要部署整个项目,而不只是将一些dll放入现有的已发布文件夹中?我的开发人员说这是我们能做到的唯一方式......
我可以尝试的任何提示吗?
提前致谢。
答案 0 :(得分:0)
嗯,经过大量的反复试验,我终于找到了一个适合我的解决方案:
使用nuget包管理器,我恢复了相关项目的Microsoft.AspNet.Mvc版本4.0.40804。这似乎已将所有引用和运行时更新回到使用该项目构建的4.0.0.0。
当我在主dll上构建,发布和复制时,该网站现在运行,而不是在' /'中显示“服务器错误”。应用。运行时错误'
有一点,运行这样一个旧版本有安全隐患吗?也许这需要成为一个新问题......
感谢您的帮助。