可以启动包含多个程序集的调试会话。虽然对话框很容易用于设置,但很难一目了然地看到哪些项目被选中而没有滚动整个批次。
是否可以仅查看设置为启动的项目?
不介意这是通过Visual Studio本身还是检查某种文件或其他文件。
答案 0 :(得分:1)
您可以使用以下Visual Commander命令(语言:C#)显示启动项目列表:
public class C : VisualCommanderExt.ICommand
{
public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
{
System.Windows.MessageBox.Show(string.Join(System.Environment.NewLine, GetStartupProjects(DTE).ToArray()));
}
System.Collections.Generic.List<string> GetStartupProjects(EnvDTE80.DTE2 dte)
{
if (dte != null && dte.Solution != null && dte.Solution.SolutionBuild != null)
{
System.Collections.Generic.List<string> result = new System.Collections.Generic.List<string>();
System.Array projects = dte.Solution.SolutionBuild.StartupProjects as System.Array;
if (projects != null)
{
foreach (string s in projects)
result.Add(s);
}
return result;
}
return null;
}
}
答案 1 :(得分:0)
如果只希望项目名称本身不包含(可能)冗长的路径名:
using System.Linq;
public class C : VisualCommanderExt.ICommand
{
public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
{
System.Windows.MessageBox.Show(string.Join(System.Environment.NewLine, GetStartupProjects(DTE).ToArray()));
}
System.Collections.Generic.List<string> GetStartupProjects(EnvDTE80.DTE2 dte)
{
if (dte == null || dte.Solution == null || dte.Solution.SolutionBuild == null) return null;
var result = new System.Collections.Generic.List<string>();
var projects = dte.Solution.SolutionBuild.StartupProjects as System.Array;
if (projects == null) return result;
result.AddRange(from string s in projects select s.Split('\\') into parts select parts[parts.Length - 1]);
return result;
}
}