您的位置:首页 > 编程语言 > C#

*.vshost.exe的一些问题

2014-07-07 10:54 344 查看
  问题:

              在开发项目过程中可能存在很多工程,其中就涉及到文件的拷贝,在使用XCOPY过程中会发现有些文件拷贝失败,查看后发现是文件已经存在。停止VS运行后手动在输出目录删除,发现XXX.dll和*.vshost.exe不能删除,发现是*.vshost.exe 加载了XXX.dll。

  

  首先

vshost.exe [承载进程]

1.提高调试性能

2.部分信任调试

3.设计时表达式计算

上述的问题,其实我可以关闭宿主进程解决这个问题,但是如果关闭了这个会存在以下问题:

1.部分信任调试和
Click-Once 安全 


2.设计时表达式计算 


3. AppDomain.CurrentDomain.FriendlyName
差异

AppDomain.CurrentDomain.FriendlyName 依据是否启用宿主进程返回不同的结果。 如果在启用宿主进程时调用 AppDomain.CurrentDomain.FriendlyName,它将返回 app_name.vhost.exe。 如果在禁用宿主进程时调用它,它将返回 app_name.exe。


Assembly.GetCallingAssembly().FullName
差异

Assembly.GetCallingAssembly().FullName 依据是否启用宿主进程返回不同的结果。 如果启用宿主进程时调用 Assembly.GetCallingAssembly().FullName,它将返回 mscorlib。 如果禁用宿主进程时调用 Assembly.GetCallingAssembly().FullName,它将返回该应用程序名。
 

 关于如何删除被vshost.exe打开的DLL,待研究后写上来。 

参考资料:

http://msdn.microsoft.com/zh-cn/library/ms242202.aspx

http://msdn.microsoft.com/zh-cn/library/ms185331.aspx

http://blog.csdn.net/donjuan/article/details/3849508

http://www.cnblogs.com/know-life-death/archive/2011/07/04/2097841.html

http://www.cnblogs.com/xuanhun/archive/2012/07/22/2603983.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  调试 vshost.exe 宿主 C#