6.10.2016

NuGet - PrettyBin

 

一般在Solution中,如果主專案外的專案是Class Library型態,預設Build產生的dll都會和執行檔在同一層目錄,若是使用PrettyBin,它會幫你把dll移至lib目錄下,這樣Build出來的目錄會看上去比較乾淨。

查了一下,它主要是在App.config中加入

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib"/>
</assemblyBinding>
</runtime>

另外就是在主執行檔專案的.csproj中加上

<Target Name="AfterBuild">
  <ItemGroup>
    <MoveToLibFolder Include="$(OutputPath)*.dll ; $(OutputPath)*.xml" />
  </ItemGroup>
  <Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
</Target>

在成功Build後自動將檔案移至設定的預設目錄