在3.0.2.0 版本的 Snippet compiler中, 下面两行代码在设置了如图的选项时, 会抛出异常
上面分别是打开的选项, 和引起异常的代码行, 异常为:
简单地把上面的 true || 去掉, 可以避免在这种情况下执行这段引起异常的代码, 原理是如果snippet 通过重定向来输出内容时, Console.In 对象是一个 StreamReader类型的内部私有类型NullStreamReader, 而实际attach一个输入输出终端窗口时是另一个TextReader+SyncTextReader类型, 通过reflector可以证实, 所以不得不用这种丑陋的办法达到目的:
if(Console.In.GetType().FullName != "System.IO.StreamReader+NullStreamReader" )
{
Console.Write("Press any key to continue...");
Console.ReadKey();
}
由于default.cs默认提供的名字空间实在少得可怜, 实用这个工具的人绝对不够用, 就冲着你要多加几个名字空间, 也一定要修改default.cs 模板文件.
下面是我修改后的 default.cs文件. 该文件是snippet 的模板文件, 也就是你每次打开snippet compiler时默认看到的代码文件模板. 模板的配置方法为(它默认放到Application Data中, 我希望自行指定一个自己知道的目录):
default.cs:
|
文件: | default.zip |
大小: | 0KB |
下载: | 下载 |
|
MD5:
4a0da768a1d650b7786af1f2018d0917 *default.zip
阅读(827) | 评论(0) | 转发(0) |