在探索Roslyn的过程中,我将一个小应用程序放在一起,该应用程序应该包含一个trace语句作为Visual Studio解决方案中每个方法的第一个语句.我的代码是错误的,只是更新第一种方法.
未按预期工作的行标有"TODO"注释.请指教.
我也欢迎风格建议,以创建更简化/可读的解决方案.
提前致谢.
...
private void TraceBtn_Click(object sender, RoutedEventArgs e) {
var myWorkSpace = new MyWorkspace("...Visual Studio 2012\Projects\Tests.sln");
myWorkSpace.InjectTrace();
myWorkSpace.ApplyChanges();
}
Run Code Online (Sandbox Code Playgroud)
...
using System;
using System.Linq;
using Roslyn.Compilers;
using Roslyn.Compilers.CSharp;
using Roslyn.Services;
namespace InjectTrace
{
public class MyWorkspace
{
private string solutionFile;
public string SolutionFile {
get { return solutionFile; }
set {
if (string.IsNullOrEmpty(value)) throw new Exception("Invalid Solution File");
solutionFile = value;
}
}
private IWorkspace loadedWorkSpace;
public IWorkspace LoadedWorkSpace { get { return loadedWorkSpace; } } …Run Code Online (Sandbox Code Playgroud)