2013-08-01 119 views
3

我正在嘗試在我的代碼中引用的庫中添加一個Fakes程序集(在Visual Studio 2012 Ultimate中),以便我可以獨立於程序庫實現進行測試。我遇到的問題是,當我右鍵單擊引用的程序集並單擊「添加僞裝程序集」時,我收到消息:Microsoft Fakes「不支持裝配」

「不支持裝配 僞裝不支持此程序集。

我試過使用谷歌搜索這個消息,但得到0結果,如果我把它放在引號中,如果我沒有相關的東西。我認爲這很奇怪,因爲你會指望別人在某個時候碰到這個問題,但無論如何...

放棄尋找郵件後,我試圖尋找某處,可能會告訴我什麼類型的大會微軟假貨支持,但這也證明是徒勞的。

我想我的問題是:有誰知道Microsoft Fakes有/不支持哪種類型的程序集。

如果有人知道爲什麼不支持這一特殊功能,我已經包含了一些我正在參考的程序集信息: -它是一個COM Interop程序集。 - 它是一個ActiveX組件。 - 沒有強烈的名字。

任何線索都將不勝感激。

+1

你正在運行什麼版本的Visual Studio(如Express/Pro/Ultimate等)?根據[這個頁面](http://blogs.msdn.com/b/bharry/archive/2013/01/30/announcing-visual-studio-2012-update-2-vs2012-2.aspx)只有保費和終極支持。 – keyboardP

+0

@keyboardP是的,這一點很重要,甚至更新版本:高級版僅僅是自VS 2012更新2以來具備的功能http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2919309-provide-microsoft-fakes- with-all-visual-studio-edi –

+0

https://connect.microsoft.com/VisualStudio/feedback/details/746742/fakes-framework-is-not-available-in-vs12-premium –

回答

0

說實話,你提到的事情可能不是問題。例如僞造Excel互操作類是完全可能的(不是你可以使用它們!)。

但是,如果你看看什麼東西不支持假貨,比如密封類,因爲存根需要繼承而不允許存根,以及一些限制墊片的反射類,很明顯有些類會有既不,因此允許一個dll沒有虛構的組件。在那裏你可以做的不多。

此外,Shims cannot be used on all types from the .NET base class library mscorlib and System.MSDN