ฉันมาที่นี่จากคำถามอื่น (ทำเครื่องหมายซ้ำ)เกี่ยวกับการเพิ่มแท็กการตรวจสอบไปยังไฟล์ App.Config
ฉันต้องการเพิ่ม sidenote ในสิ่งนี้ - Visual studio ได้สร้างไฟล์ App.config แล้วอย่างไรก็ตามการเพิ่มแท็กการตรวจสอบไปยังแท็กรันไทม์ที่สร้างไว้ล่วงหน้าไม่ทำงาน! คุณต้องมีแท็กรันไทม์แยกต่างหากพร้อมกับแท็กการตรวจสอบ ในระยะสั้น App.Config ของคุณควรมีลักษณะเช่นนี้:
<?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>
การดำเนินการนี้ใช้เวลาพอสมควรดังนั้นฉันจึงโพสต์ไว้ที่นี่ ให้เครดิตกับแพ็คเกจ The PrettyBin NuGetด้วย มันเป็นแพ็คเกจที่ย้ายที่กำลังโดยอัตโนมัติ ฉันชอบแนวทางแบบแมนนวลมากกว่าดังนั้นฉันจึงไม่ได้ใช้มัน
นอกจากนี้ - นี่คือสคริปต์สร้างโพสต์ที่คัดลอก. dll / .xml / .pdb ทั้งหมดไปยัง / Lib นี่เป็นการเปิดโฟลเดอร์ / debug (หรือ / release) สิ่งที่ฉันคิดว่าผู้คนพยายามที่จะบรรลุ
:: 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%"