.net 公共语言运行库在Visual Studio中检测到无效程序

.net 公共语言运行库在Visual Studio中检测到无效程序,.net,visual-studio,clr,.net,Visual Studio,Clr,我已经使用Visual Studio 2008很长时间了,但最近我在用C#开发应用程序时收到了以下信息: 公共语言运行库检测到无效程序 当我尝试输入组件的属性(文本屏蔽框属性、工具箱属性等)时会发生这种情况。但当我试图启动另一个解决方案时,它真的成了一个问题,我从微软的开发者五星计划下载了这个解决方案,但它根本不允许我启动,只是遇到了同样的问题 我在谷歌上寻找答案,但只是得到了一些线索,说明人们在不同的情况下,比如在ASP.NET中,有相同的模糊错误 如果您能在这个问题上提供帮助,我将不胜感激…

我已经使用Visual Studio 2008很长时间了,但最近我在用C#开发应用程序时收到了以下信息:

公共语言运行库检测到无效程序

当我尝试输入组件的属性(文本屏蔽框属性、工具箱属性等)时会发生这种情况。但当我试图启动另一个解决方案时,它真的成了一个问题,我从微软的开发者五星计划下载了这个解决方案,但它根本不允许我启动,只是遇到了同样的问题

我在谷歌上寻找答案,但只是得到了一些线索,说明人们在不同的情况下,比如在ASP.NET中,有相同的模糊错误

如果您能在这个问题上提供帮助,我将不胜感激……:(我不想重新安装VS,这将是我的最后一个资源

更新:


我从来没有弄清楚问题出在哪里,所以我在上面安装了一个带有Windows XP的虚拟机,那里我只有Visual Studio和Netbeans。

你能在一个新的解决方案中重现这个问题而不引用任何额外的程序集吗?如果是这样,我认为重新安装将是你最好的选择。对不起!

我的一位同事遇到了一个问题,他说:的工具箱已损坏。请尝试打开工具箱,单击鼠标右键,然后选择“重置工具箱”。您永远不知道。

我从未在线找到此问题的解决方案。但对我来说,解决此问题的方法是在Visual Studio中使用“清除解决方案”选项


似乎VS有些“脏”了。

在阅读Microsoft的故障排除指南之前,请尝试使用“干净的解决方案”。

只需从中删除temparory asp.net文件

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files

然后在asp.net中运行您的解决方案。现在它将正常运行。

可能是使用引用的程序集,该程序集的CPU目标为x86或x64,与Visual Studio中打开的解决方案中指定的CPU目标不同

如果可以重新编译程序集,请将引用程序集的目标设置为与开放解决方案相同的cpu类型,以解决此问题


我的环境是在x64 cpu上运行的,我的解决方案的目标为x86,引用的程序集的目标为Any。

我遇到了这个错误。Peverify帮助查找源代码-这是一个方法组调用Syntax。如图所示。

嗯,(对我来说),经过一个小时的调查,我成功地解决了这个问题

在VB.NET(v4.0 VS-SP1)中,我发现了一个错误,编译器不会抛出错误,IntelliSense也不会:

请注意,如果我在函数(程序、类/模块/表单等中的任何位置)中添加以下行:

MyGraphics.DrawImage(OriginalImage.Clone(新系统.绘图.矩形(ClipX1,ClipY1,ClipW,ClipH),绘图.成像.像素格式.格式24bpprgb),0,0,TempWidth,TempHeight)

编译器在调试时甚至未命中函数就抛出此错误,甚至未到达该行(仅添加到functoid,会导致编译器害怕输入此函数)

我从代码中的另一个函数中复制了这行代码,现有的函数运行良好,而新的函数运行不正常。老实说,这非常令人震惊

现在,我再次检查并找到了原因,因为
OriginalImage
对象在工作的代码中被定义为
Bitmap
,但是,我在不工作的代码中将其定义为
Image

我进一步查看了上面的代码行,并检查了上面的“克隆”函数所采用的参数/参数,来自
位图
实例的参数正确且具有3个变形(即,可以使用3组不同的参数调用函数)但是,对于
Image
type实例,
Clone
不接受任何参数

看到这一点我非常震惊,问题是我在IntelliSense中没有收到任何错误或警告,也没有收到编译器错误,代码编译得很好,但函数无法执行,我确信这是.NET中的一个bug(嗯…一个特性)

修复方法是将
system.drawing.Image
更改为
system.drawing.Bitmap
,代码随后工作

我希望这有帮助

问候
Heider

重新启动我的机器为我解决了这个问题。似乎有很多关于这个问题的参考文献都谈到了方法大小和局部变量数量的限制。这只适用于.net framework 2.0或更低版本。因此,最好的办法是清理、重建、重新启动或最终重新安装Visual Studio。在根据我的经验,这更像是一个“卡住/损坏”的Visual Studio。

这是一个老问题,但我也遇到了这个问题

对我来说,这仅仅是因为我试图使用非类型化对象而不是强类型变量。我在ASP.net项目属性中启用了option strict,并修复了所有弹出的强制转换错误,现在它工作得非常好


在重新安装VS或其他人提到的更耗时的措施之一之前,您可能需要尝试一些方法。

我通过尝试调用System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace()来解决这个问题 对于这种情况,解决方案是编辑项目文件,并确保对相关asembly的引用看起来完全正确:

<Reference Include="System.Management.Automation" />


通过VS 2012 asseblies选取器,并通过将部件拾取到参考部件的物理位置来引用此部件的其他方法。

我解决了这个完全虚假的问题(或者至少是误导性的问题)正确使用ADDHANDLER的HandlerObject参数中的对象时出现错误消息…我错误地在其中放入了一个类名!

另一个可能的原因是:我在单元测试中实现Microsoft Fakes时遇到此错误。在添加名称空间之前,我开始手动设置的一个.Fakes xml文件如下所示
<StubGeneration>
  <Clear/>
</StubGeneration>
<ShimGeneration>
  <Clear/>
</ShimGeneration>