我有一个场景,在Visual Studio中开始调试Silverlight OOB项目时,调试器会自动附加到该项目,但它不会自动附加到运行Silverlight应用程序连接的Web服务的iisexpress进程。它确实启动了iisexpress,但没有自动附加。我必须手动转到“调试”->“附加到进程”,找到iisexpress并附加以调试客户端和服务器端代码。
由于VS2012取消了宏,因此我无法使用它来自动附加,因此我正在尝试创建一个简单的插件来代替它。
但我卡在如何附加进程上。我尝试了以下两种方法,在正确的时间和位置找到了iisexpress进程,但是在尝试附加时都出现了异常。请问有人能建议我该怎么做吗?
由于VS2012取消了宏,因此我无法使用它来自动附加,因此我正在尝试创建一个简单的插件来代替它。
但我卡在如何附加进程上。我尝试了以下两种方法,在正确的时间和位置找到了iisexpress进程,但是在尝试附加时都出现了异常。请问有人能建议我该怎么做吗?
private void DebuggerEventsOnOnEnterRunMode(dbgEventReason reason)
{
if (reason == dbgEventReason.dbgEventReasonLaunchProgram)
{
foreach (Process process in _applicationObject.Debugger.LocalProcesses)
{
var nameparts = process.Name.Split(Path.DirectorySeparatorChar);
string name = nameparts[nameparts.Length - 1];
if (name.Contains("iisexpress"))
process.Attach();
// also tried: _applicationObject.ExecuteCommand("Debug.AttachToProcess", process.Name);
// and: _applicationObject.ExecuteCommand("Debug.AttachToProcess", name);
}
}
}