C#WinForms应用程序赢得';生成后,请不要在Win7上运行

C#WinForms应用程序赢得';生成后,请不要在Win7上运行,c#,winforms,windows-7,build,C#,Winforms,Windows 7,Build,我有一个程序,我建立了读写文件。我在发布模式下构建了它,然后尝试在Win7上运行exe。一开始,当故障排除打开时,Windows简单地告诉我应用程序已关闭,它正在寻找解决方案。几秒钟后,对话框将消失,不再显示任何内容 因此,我花了很大的努力将调试器附加到了流程中,但它只显示了反汇编,这告诉我发生的错误不是在我的应用程序代码中,而是在某个框架中 奇怪的是,当我让调试器连接,然后在VS中按“停止”,并退出调试器时,程序实际上在该点运行 所以现在我被难住了。我有一个构建的应用程序,当我运行它时,它似乎

我有一个程序,我建立了读写文件。我在发布模式下构建了它,然后尝试在Win7上运行exe。一开始,当故障排除打开时,Windows简单地告诉我应用程序已关闭,它正在寻找解决方案。几秒钟后,对话框将消失,不再显示任何内容

因此,我花了很大的努力将调试器附加到了流程中,但它只显示了反汇编,这告诉我发生的错误不是在我的应用程序代码中,而是在某个框架中

奇怪的是,当我让调试器连接,然后在VS中按“停止”,并退出调试器时,程序实际上在该点运行

所以现在我被难住了。我有一个构建的应用程序,当我运行它时,它似乎有一个权限错误,但是如果我让调试器连接,然后关闭它,它就会运行,并且没有任何异常可以真正查看

如何解决此问题

编辑:回应Merlyn:

这是一款用c#从头开始编写的定制应用程序。它在核心.NET命名空间之外的唯一依赖项是Ionic.Zip DLL

Visual Studio 2008(用C#3.5编写) Windows 7-家庭高级版,v6.1版本7600 CPU-x64四核 你是在任何CPU下编译的吗

我还没有在另一台机器或不同版本的VS上尝试过


编辑:我可以在另一台win7计算机上尝试编译后的版本,但它没有问题,因此它看起来只是我的计算机上的安全问题。

我建议将问题发送给Microsoft支持部门。特别是有了这里给出的数据,你将很容易说服他们这是他们的问题。为此,您可能需要MSDN订阅。

在禁用“我的代码”和启用“本机代码”的情况下,在调试器中尝试,然后检查调用堆栈


另外,如果直接在Visual Studio中运行它会发生什么情况?

我知道这不是答案,所以请不要否决它。这实在是太多了,不能放在评论里。我会在询问者提供信息后将其删除

你需要更多的信息,我们甚至可以开始帮助你解决这个问题

你在编译什么程序?是自定义应用程序,还是开源应用程序

什么口味的:

  • Visual Studio
  • 视窗7
  • 中央处理器
  • 您正在编译的CPU(“任何CPU”、“x86”等)
此应用程序有哪些依赖项,您安装了哪些版本?哪种CPU口味


你把它用在另一台机器上了吗?你有没有在编译和使用不同版本的VS?您是否获得了要运行的预编译版本?如果是,请告诉我们该计算机的所有上述信息。

取消选中“项目属性”中的“启用Visual Studio宿主进程”,然后查看它在VS中是否仍然有效。

您是否尝试以管理员身份运行该应用程序?右键单击exe并选择“以管理员身份运行”菜单选项。看看你是否在事件日志中找到了帮助?它可能会提供更多信息。(但如果是在Relase模式下编译的,则可能不会。)为AppDomain.CurrentDomain.UnhandledException编写一个事件处理程序,以便知道发生了什么问题。是的,我确实以管理员身份运行,这使调试器能够运行,但仍然无法正确运行程序。偶数日志显示以下错误:错误应用程序名称:DocumentGenerator.exe,版本:1.0.0.0,时间戳:0x4cd1af70故障模块名称:MSCOREE.DLL,版本:4.0.31106.0,时间戳:0x4af3af86异常代码:0x80000003故障偏移量:0x0000000000005ab8故障进程id:0x3024故障应用程序启动时间:0x01cb7b8d899c33a7故障应用程序路径:C:\App\path\DocumentGenerator.exe故障模块路径:C:\Windows\SYSTEM32\MSCOREE.DLL报告id:c74dd080-e780-11df-9fb3-406186C7CFA2您一定是在开玩笑吧在这里讽刺的是?-1,在这一点上打一个支持电话完全是浪费时间和金钱。还有太多的变量,他甚至还没有开始识别,更不用说给我们参数了。如果你是在挖苦人,那么挖苦就失败了:)我对微软的“支持电话”不太熟悉。向他们寻求支持有那么难吗?这既不是讽刺也不是玩笑。试了一下,但没有改变——调试器运行,告诉我它不能在运行模式下显示反汇编,然后程序启动。我可以停止/退出调试器,应用程序将继续运行。