未处理的异常:System.InvalidProgramException:公共语言运行时检测到无效的程序

时间:2014-11-08 02:32:33

标签: c# nancy

我最近买了一台新电脑并将这个项目上传到FTP服务器,然后将其下载到我的新电脑,但现在它导致了这个错误:

Unhandled Exception: System.InvalidProgramException: Common Language Runtime det
ected an invalid program.
   at Nancy.Conventions.NancyConventions.<Validate>b__1(Tuple'2 result)
   at System.Linq.Enumerable.WhereEnumerableIterator'1.MoveNext()
   at Nancy.Conventions.NancyConventions.Validate()
   at Nancy.Bootstrapper.NancyBootstrapperBase'1.Initialise()
   at Nancy.Hosting.Self.NancyHost..ctor(INancyBootstrapper bootstrapper, HostCo
nfiguration configuration, Uri[] baseUris)
   at Nancy.Hosting.Self.NancyHost..ctor(Uri baseUri, INancyBootstrapper bootstr
apper, HostConfiguration configuration)
   at PokerServer.Program.startServer() in f:\Projects\Visual Studio\PokerServer
\PokerServer\Program.cs:line 93
   at PokerServer.Program.Main() in f:\Projects\Visual Studio\PokerServer\PokerS
erver\Program.cs:line 23

它在旧电脑上运行良好。

我更新了.NET(以及另一个线程中提到的Windows Update下的所有其他更新)。

我尝试过无效且有效的代码优化&#34;没有任何问题。

目录与以前不一样,不确定是否会导致此问题?

我使用peverify验证我的代码,如果我理解正确,一切看起来都不错:

F:\Projects\Visual Studio\PokerServer\PokerServer\bin\Debug>peverify PokerServer
.exe /md /il

Microsoft (R) .NET Framework PE Verifier.  Version  4.0.30319.33440
Copyright (c) Microsoft Corporation.  All rights reserved.

All Classes and Methods in PokerServer.exe Verified.

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

您实际上是在新计算机上编译项目还是仅运行应用程序?

如果您刚刚运行它,您是否验证了两台计算机上的应用程序程序集或程序集实际上是否相同?我建议,首先要排除选项,即数据传输过程中发生的事情。

如果你正在编译它,你用它编写什么?视觉工作室?哪个版本?

在任何情况下,错误都与文件目录无关,应用程序位于。According to MSDN,只有在编译的应用程序无效时才会抛出异常(即编译器中存在错误) )。您可以找到更多信息in this knowledge base article。如文章所示,尝试运行PEVerify工具并在debug configurtion中重建应用程序。

答案 1 :(得分:0)

我删除了旧的Nancy依赖项并从Nuget再次安装它,现在它可以正常工作。