我喜欢遵守 StyleCop 的格式规则以使代码清晰明了,但我最近遇到了其中一个警告的问题:
所有 using 指令都必须放在命名空间内。
我的问题是我有 using 指令、一个程序集引用(用于模拟文件删除)和一个命名空间来处理我的一个测试类:
using System;
using System.IO;
using Microsoft.Moles.Framework;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[assembly: MoledType(typeof(System.IO.File))]
namespace MyNamespace
{
//Some Code
}
以上允许测试运行良好 - 但 StyleCop 抱怨 using 指令不在命名空间内。
将 usings 放入命名空间会导致无法识别“MoledType”的错误。
将 usings 和程序集引用都放在命名空间内会产生错误
'assembly' 不是此声明的有效属性位置。此声明的有效属性位置是“类型”。此块中的所有属性都将被忽略。
似乎我已经尝试了所有可能的布局,但无济于事——要么解决方案无法构建,要么模拟不起作用,要么 StyleCop 抱怨!
有谁知道一种方法来设置这些,以便一切都快乐?还是在这种情况下我将不得不忽略 StyleCop 警告?