相关疑难解决方法(0)

Visual Studio"无法复制"....在构建期间

在构建我的VS2012 C#项目期间,我不断收到此错误

Error   41  Could not copy "obj\Debug\WeinGartner.WeinCad.exe" to
 "bin\Debug\WeinGartner.WeinCad.exe". 
 Exceeded retry count of 10. Failed.    


Error   42  Unable to copy file "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe". The process cannot access the file
'bin\Debug\WeinGartner.WeinCad.exe' because it is being used by another 
process.    
Run Code Online (Sandbox Code Playgroud)

现在我已经发现杀死这个过程了

Weingartner.WeinCad.vhost.exe
Run Code Online (Sandbox Code Playgroud)

工作(有时),但这让我很紧张.有什么方法可以阻止这种情况发生吗?

我的调试器设置是

在此输入图像描述 在此输入图像描述

c# build process visual-studio-2012

328
推荐指数
15
解决办法
28万
查看次数

调试无法启动

当我按F5(调试模式)时没有任何反应.构建工作正常,exe文件我可以正常启动,但无法启动调试.为什么?

c# debugging build visual-studio-2010 .net-2.0

101
推荐指数
7
解决办法
12万
查看次数

我无法杀死MyApp.vshost.exe

我已经设法让自己处于一个状态,我没有运行devenv的实例,但后台仍然是MyApp.vshost.exe(没有可见的窗口或控制台).

我已经尝试过TaskManager,ProcessExplorer和命令行(taskkill /F /IM MyApp.vshost.exe),没有人抱怨,命令行甚至说'PID 5824已停止',但它仍然存在.

我知道我可以重启,但我宁愿深究这一点.

它看起来不像是这个问题(http://support.microsoft.com/kb/982551),因为我可以重新启动没问题(事实上,因此无法提供任何进一步的诊断,抱歉).

编辑

这就是我进入这个泡菜的方式:

替代文字

vshost.exe

59
推荐指数
2
解决办法
3万
查看次数

什么是*.csproj中的usevshostingprocess?

今天,我突然在我的*.csproj文件中找到了这个

< UseVSHostingProcess> False </UseVSHostingProcess>
Run Code Online (Sandbox Code Playgroud)

当我把它与最新的比较它被加入

<PropertyGroup> </ Property Group>
Run Code Online (Sandbox Code Playgroud)

我在谷歌搜索了很多,发现 http://msdn.microsoft.com/en-us/library/vstudio/ms171262.aspx,我不太明白.

有人可以解释一下UseVSHostingProcess是什么以及为什么需要它.

c# asp.net csproj

33
推荐指数
1
解决办法
1万
查看次数

使用静态存储持续时间破坏本机对象

2012-12-09摘要:

  • 在普通的混合模式应用程序中,全局本机C++析构函数作为终结器运行.无法更改该行为或关联的超时.
  • 混合模式程序集DLL在DLL加载/卸载期间运行C++构造函数/析构函数 - 与本机DLL完全相同.
  • 使用COM接口在本机可执行文件中托管CLR 允许解构器的行为与本机DLL(我想要的行为)一样,并为终结器设置超时(额外的奖励).
  • 据我所知,上述内容至少适用于Visual Studio 2008,2010和2012.(仅用.NET 4测试过)

我计划使用的实际CLR托管可执行文件与此问题中概述的非常类似,除了一些小的更改:

  • OPR_FinalizerRun根据Hans Passant的建议设置为某个值(当前为60秒,但可能会发生变化).
  • 使用ATL COM智能指针类(这些在Visual Studio的快速版本中不可用,所以我在这篇文章中省略了它们).
  • Lodaing CLRCreateInstancemscoree.dll动态(以允许更好的错误消息没有安装兼容CLR时).
  • 将命令行从主机传递到Main程序集DLL中的指定函数.

感谢所有花时间阅读问题和/或评论的人.


2012-12-02帖子底部更新.

我正在使用Visual Studio 2012和.NET 4进行混合模式C++/CLI应用程序,并且惊讶地发现某些本机全局对象的析构函数没有被调用.调查的问题,它原来,他们表现得像管理对象在解释这个职位.

我对此行为感到非常惊讶(我理解它对于托管对象)并且无法在任何地方找到它,无论是在C++/CLI标准中还是在析构函数和终结器的描述中.

根据Hans Passant的评论中的建议,我将程序编译为程序集DLL并将其托管在一个小的本机可执行文件中,这确实给了我所需的行为(析构函数有足够的时间来完成和运行在同一个线程中建造)!

我的问题:

  1. 我可以在独立的可执行文件中获得相同的行为吗?
  2. 如果(1)不可行,是否可以ICLRPolicyManager->SetTimeout(OPR_ProcessExit, INFINITE)为可执行文件配置进程超时策略(即基本上调用)?这将是一个可接受的解决方法.
  3. 在哪里记录/我如何更多地了解这个主题?我宁愿不依赖易于改变的行为.

要重现如下编译以下文件:

cl /EHa /MDd CLRHost.cpp
cl /EHa /MDd /c Native.cpp
cl /EHa /MDd /c /clr CLR.cpp
link /out:CLR.exe Native.obj CLR.obj 
link /out:CLR.dll /DLL Native.obj CLR.obj 
Run Code Online (Sandbox Code Playgroud)

不需要的行为:

C:\Temp\clrhost>clr.exe
[1210] …
Run Code Online (Sandbox Code Playgroud)

.net windows clr mixed-mode c++-cli

24
推荐指数
1
解决办法
2978
查看次数

TaskDialog触发异常:需要版本6中的comctl32.dll

我正在开发现代WPF应用程序。我想使用TaskDialog,但总是会遇到常见错误:

TaskDialog功能需要加载comctl32.dll的版本6,但是当前正在内存中加载了其他版本。

我试图添加一个清单(已经包含正确的comctl32.dll所需的依赖项),并将其设置为项目属性中的默认清单。

它仍然抛出此异常:-/

我的应用程序是这样构建的:它是一个启动应用程序(正常的Windows应用程序,非wpf)。它仅具有“ Program.cs”,这是入口点。它在那里动态地加载实际的应用程序(它是一个库,而不是WPF应用程序项目)。它调用启动方法来启动应用程序。

效果很好,但是我总是会遇到这个异常。我猜这是因为有这个启动系统...但是解决该问题的可能解决方法是什么?

非常感谢 :)

[R

wpf taskdialog windows-api-code-pack

6
推荐指数
1
解决办法
2690
查看次数

从Windows运行时,C#/ C++应用程序崩溃,但不是从Visual Studio运行

我正在开发一个调用非托管(C++)DLL的C#应用​​程序.我发现某个用户操作从Windows资源管理器运行时始终导致应用程序崩溃.但是,从Visual Studio调试器启动时,不会发生崩溃.因此,我无法在崩溃时进入代码并完全调试正在发生的事情.

什么可能导致二进制文件从资源管理器运行时崩溃,但不是从Visual Studio运行?请注意,我正在使用Release版本; 调试版本在Visual Studio Explorer中都不会崩溃.

(如果它是相关的,我可以说崩溃与在C++ DLL中操作malloc分配的数组有关.我通过精心评论代码块,重建,从Windows运行并检查是否跟踪它来跟踪它.发生了崩溃.然而,我已经达到了一个难以在没有能够正确打破调试器的情况下继续进行的程度).

我只对能够在Visual Studio中重新创建崩溃感兴趣.

c# c++ pinvoke visual-studio-2010 visual-studio-debugging

4
推荐指数
1
解决办法
2184
查看次数