Tôi đến đây từ một câu hỏi khác (được đánh dấu trùng lặp) về việc thêm thẻ thăm dò vào tệp App.Config.
Tôi muốn thêm một sidenote vào đây - Visual studio đã tạo tệp App.config, tuy nhiên việc thêm thẻ thăm dò vào thẻ thời gian chạy được tạo trước không hoạt động! bạn cần một thẻ thời gian chạy riêng biệt với thẻ thăm dò đi kèm. Nói tóm lại, App.Config của bạn sẽ trông như thế này:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<!-- Discover assemblies in /lib -->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib" />
</assemblyBinding>
</runtime>
</configuration>
Điều này đã mất một thời gian để tìm ra vì vậy tôi đang đăng nó ở đây. Đồng thời ghi có vào Gói PrettyGin NuGet . Nó là một gói di chuyển các dlls tự động. Tôi thích một cách tiếp cận thủ công hơn vì vậy tôi đã không sử dụng nó.
Ngoài ra - đây là một tập lệnh xây dựng bài đăng sao chép tất cả các tập tin / .xml / .pdb sang / Lib. Điều này mở ra thư mục / gỡ lỗi (hoặc / phát hành), những gì tôi nghĩ mọi người cố gắng đạt được.
:: Moves files to a subdirectory, to unclutter the application folder
:: Note that the new subdirectory should be probed so the dlls can be found.
SET path=$(TargetDir)\lib
if not exist "%path%" mkdir "%path%"
del /S /Q "%path%"
move /Y $(TargetDir)*.dll "%path%"
move /Y $(TargetDir)*.xml "%path%"
move /Y $(TargetDir)*.pdb "%path%"