一般在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後自動將檔案移至設定的預設目錄