首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual Studio单元测试安全性异常

Visual Studio单元测试安全性异常
EN

Stack Overflow用户
提问于 2011-07-09 23:17:32
回答 1查看 1.2K关注 0票数 3

我正在开发一个监控打印队列的应用程序。要做到这一点,它需要能够管理它们。当我运行应用程序进行调试时,它运行得很好,但是,当我尝试对类进行单元测试时,却抛出了一个安全异常。有没有办法使visual studio单元测试具有更高的安全级别?

代码语言:javascript
复制
PrintQueue q = new PrintQueue(server, QueueName,
                    PrintSystemDesiredAccess.AdministratePrinter);

引发异常:安全透明方法'MS.Internal.PrintWin32Thunk.PrinterDefaults.Dispose(Boolean)‘访问安全关键方法'MS.Internal.PrintWin32Thunk.PrinterDefaults.InternalDispose(Boolean)’的尝试失败。

同样,当在单元测试之外使用时,没有抛出异常,类按预期工作。我尝试以管理员身份运行visual studio,但是仍然收到异常。

更新:看起来我无法测试这个类了。包含它的类库已经用.NET 3.5编写,这就是为什么在使用该类时不会发生异常的原因。我做了进一步的实验,发现尽管这个类库针对的是.NET 3.5,但是针对.NET 4.0的应用程序不能使用抛出异常的类。Visual studio测试项目需要面向.NET 4.0。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-10 02:36:06

您的问题可能与这个已知的错误有关:http://connect.microsoft.com/VisualStudio/feedback/details/552520/methodaccessexception-when-printqueuecollection-disposed

这里列出了两种解决方法,其中一种是针对.NET 3.5而不是4.0。

是否确定在调试时不会在终结器线程上引发异常?您不需要声明它何时被释放。如果显式调用dispose然后调试,是否会出现异常?例如。

代码语言:javascript
复制
PrintQueue q = new PrintQueue(server, QueueName,
                PrintSystemDesiredAccess.AdministratePrinter);
q.Dispose();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6635616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档