2016-02-26 78 views
1

您好我現在用以下結構創建在Visual Studio中的新項目:數據訪問項目的dll沒有被添加到客戶端bin文件夾

enter image description here

現在事情將要參考的方式將使用結構如下:

  • 客戶端項目將只引用Commercify.Product.Contracts
  • Commercify.Products將引用Commercify.Product.Contracts和Commercify.DataAccess.Con大片
  • Commercify.DataAccess引用Commercify.DataAccess.Contracts
  • Infrastructure.Injector將在客戶端只引用,將被用於註冊依賴

在啓動我打電話以下代碼:

 Assembly assembly = Assembly.Load(new AssemblyName("Commercify.DataAccess")); 

當該代碼被執行,我得到以下異常:

{"Could not load file or assembly 'Commercify.DataAccess, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.":"Commercify.DataAccess, Culture=neutral, PublicKeyToken=null"} 

現在我假設發生這種情況是因爲Visual Studio似乎沒有看到Commercify.DataAccess實際上是需要的,因爲它沒有在其他項目中的任何地方被引用。在使用csproj類型的項目的項目中,我遇到了完全相同的問題,因此它不是dxsproj問題。 我已經通過使用後構建事件解決了它。

我寧願有一個更乾淨的解決方案,如果有的話。

誰能告訴我如何解決這個問題?

回答

2

您正在動態加載DLL,因此Visual Studio不知道需要複製它。或者你堅持構建後事件(我正在處理類似的情況,這是最好的方法),或者你在其他項目上添加對項目的引用,但是它違背了動態加載的目的一個組件。

相關問題