Jac*_*ack 6 c# assemblies namespaces using stylecop
我喜欢坚持使用StyleCop的格式化规则来使代码变得更好和清晰,但我最近遇到了一个警告问题:
所有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
}
Run Code Online (Sandbox Code Playgroud)
以上允许测试运行正常 - 但StyleCop抱怨使用指令不在命名空间内.
将usings放在命名空间内会产生"MoledType"无法识别的错误.
将usings和程序集引用放在命名空间中会产生错误
'assembly'不是此声明的有效属性位置.此声明的有效属性位置为"type".此块中的所有属性都将被忽略.
似乎我已经尝试了所有的布局,但无济于事 - 要么解决方案不会构建,嘲弄将无效或StyleCop抱怨!
有没有人知道如何设置这些以便一切都快乐?或者在这种情况下我是否必须忽略StyleCop警告?
Jac*_*ack 11
两分钟后解决了!
我只需要在程序集引用中放置"MoledType"的完整路径 - 这意味着我可以将其保留在命名空间之外,其中包含using指令,如下所示:
[assembly: Microsoft.Moles.Framework.MoledType(typeof(System.IO.File))]
namespace MyNamespace
{
using System;
using System.IO;
using Microsoft.Moles.Framework;
using Microsoft.VisualStudio.TestTools.UnitTesting;
// Some Code...
}
Run Code Online (Sandbox Code Playgroud)
希望有人会觉得这很有用!
| 归档时间: |
|
| 查看次数: |
6653 次 |
| 最近记录: |