2009-09-03 63 views
0

好吧,我今天早些時候寫了這個問題,但我決定刪除它,因爲我認爲這個問題措辭不是很好。我決定等到我有更多時間在家裏創作它:)。 我剛剛開始使用IOC/DI。我已經做了一些關於使用哪個框架的研究,並決定給StructureMap一個旋轉。以下是我使用的第一個教程:Derik Whittaker的 http://dimecasts.net/Casts/CastDetails/39非常基本的StructureMap?

無論如何,我得到了一切像夢一樣工作,一切都在同一個項目中進行。 這裏是我的示例代碼:

[PluginFamily("SMTest",IsSingleton=true)] 
public interface IVehicle 
{ 
    byte TopSpeed {set;get;} 
    byte MPG { set; get; } 

} 

[Pluggable("SMTest")] 
public class Car : IVehicle 
{ 
    private byte mTopSpeed; 
    private byte mMPG; 
    #region IVehicle Members 

    byte IVehicle.TopSpeed 
    { 
     get 
     { 
      return mTopSpeed; 
     } 
     set 
     { 
      mTopSpeed = value; 
     } 
    } 

    public interface IConsumer 
    { 

    IVehicle Car { get; set; } 
    } 

    [Pluggable("SMTest")] 
public class Consumer : StructureMapBasic.IConsumer 
{ 
    private IVehicle mCar; 

    public Consumer(IVehicle lcar) 
    { 
     Car = lcar;  
    } 

    public IVehicle Car { set; get; } 


    byte IVehicle.MPG 
    { 
     get 
     { 
      return mMPG; 
     } 
     set 
     { 
      mMPG = value; 
     } 
    } 

    #endregion 
} 

所以,不管怎麼說,如果我創建項目入一個命令行程序,並做到以下幾點:

var consumer = ObjectFactory.GetInstance<IConsumer>(); 

它完美。沒有問題。當我在解決方案中創建一個獨立的項目,然後將上述項目更改爲一個DLL。我得到以下錯誤:

Test method StructureMapBasic.ConsumerTest.ConsumerConstructorTest 
threw exception: StructureMap.StructureMapException: StructureMap 
Exception Code: 202 No Default Instance defined for PluginFamily 
StructureMapBasic.IConsumer, StructureMapBasic, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=null. 

起初我以爲也許StructureMap.Config文件並沒有進入新的項目bin文件夾,但事實並非如此。它在那裏。 Everythign編譯就好,這個問題發生在運行時。我相信這個解決方案非常簡單,但對於我的生活,我無法弄清楚什麼是錯誤的。任何幫助將非常感激。

感謝, NCAGE

回答

0

我把我所有的friggn日摸不着頭腦。起初,我以爲我只是一個白癡,我錯過了一些愚蠢的東西。那麼我不是。我認爲這涉及到不同的項目,但事實並非如此。我創建了一個新的控制檯應用程序,它消耗了我的StructureMapped DLL(如果只是創造了一個術語;))。無論如何,在試圖花費一整天的時間解決這個問題後,我終於找到了描述問題的帖子。它在MSTest中的一個怪胎錯誤(我的項目有問題是在MSTest中創建的)。 Xunit我來了。這裏有一篇文章描述了創建教程視頻的同一個人的問題:

http://devlicio.us/blogs/derik_whittaker/archive/2008/07/23/mstest-why-i-hate-you-you-cause-me-too-much-friction.aspx