เมื่อเพิ่มการอ้างอิงไปยังแอสเซมบลีที่อยู่ภายในไดเร็กทอรีโซลูชันมีวิธีใดบ้างที่จะเพิ่มค่อนข้างเพื่อให้เมื่อเช็คอินและออกจากที่เก็บข้อมูลจะถูกอ้างอิงในโปรเจ็กต์อย่างถูกต้อง
เมื่อเพิ่มการอ้างอิงไปยังแอสเซมบลีที่อยู่ภายในไดเร็กทอรีโซลูชันมีวิธีใดบ้างที่จะเพิ่มค่อนข้างเพื่อให้เมื่อเช็คอินและออกจากที่เก็บข้อมูลจะถูกอ้างอิงในโปรเจ็กต์อย่างถูกต้อง
คำตอบ:
หากต้องการขยายความคิดเห็นเดิมของ Pavel Minaev - GUI สำหรับ Visual Studio สนับสนุนการอ้างอิงแบบสัมพัทธ์โดยสมมติว่า. sln ของคุณเป็นรากของการอ้างอิงแบบสัมพัทธ์ ดังนั้นหากคุณมีวิธีแก้ไขC:\myProj\myProj.sln
การอ้างอิงใด ๆ ที่คุณเพิ่มในโฟลเดอร์ย่อยC:\myProj\
จะถูกเพิ่มโดยอัตโนมัติเป็นการอ้างอิงแบบสัมพัทธ์
ในการเพิ่มการอ้างอิงแบบสัมพันธ์ในไดเร็กทอรีแยกต่างหากเช่นให้C:/myReferences/myDLL.dll
ทำดังต่อไปนี้:
แก้ไข <HintPath> ให้เท่ากับ
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
C:\myReferences\myDLL.dll
ตอนนี้การอ้างอิง
หวังว่านี่จะช่วยได้
ใช่เพียงสร้างไดเร็กทอรีในโซลูชันของคุณเช่น lib / จากนั้นเพิ่ม dll ของคุณไปยังไดเร็กทอรีนั้นในระบบไฟล์และเพิ่มในโปรเจ็กต์ (Add-> Existing Item-> ฯลฯ ) จากนั้นเพิ่มข้อมูลอ้างอิงตามโครงการของคุณ
ฉันทำสิ่งนี้หลายครั้งภายใต้ svn และภายใต้ cvs
ใน VS 2017 เป็นไปโดยอัตโนมัติ ดังนั้นเพียงแค่Add Reference
เป็นมักจะ
โปรดสังเกตว่าในReference Properties
พา ธ สัมบูรณ์จะปรากฏขึ้น แต่.vbproj/.csproj
จะใช้แบบสัมพัทธ์
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
อาจเป็นไปได้ว่าวิธีที่ง่ายที่สุดในการบรรลุสิ่งนี้คือเพียงเพิ่มการอ้างอิงไปยังแอสเซมบลีจากนั้น (ด้วยตนเอง) แก้ไขการแสดงข้อความอ้างอิงในไฟล์โครงการ Visual Studio ที่เกี่ยวข้อง (นามสกุล. csproj) เพื่อให้มันกลายเป็นญาติ
ฉันเคยทำหลายครั้งใน VS 2005 โดยไม่มีปัญหาใด ๆ
ฉันอาจจะออกจากที่นี่ แต่ดูเหมือนว่าคำตอบนั้นค่อนข้างชัดเจน: ดูเส้นทางอ้างอิงในคุณสมบัติโครงการ ในการตั้งค่าของเราฉันได้เพิ่มโฟลเดอร์ที่เก็บทั่วไปของเราไปยังหน้าต่างอ้างอิงเส้นทาง GUI เช่นนั้น
ด้วยวิธีนี้ฉันสามารถคัดลอก dll ของฉัน (พร้อมสำหรับการเผยแพร่) ไปยังโฟลเดอร์นี้และตอนนี้นักพัฒนาทุกคนจะได้รับ DLL ที่อัปเดตทุกครั้งที่สร้างจากโฟลเดอร์นี้
หากพบ dll ในโซลูชันตัวสร้างควรจัดลำดับความสำคัญของเวอร์ชันโลคัลมากกว่าเวอร์ชันทีมที่เผยแพร่
ดังที่ได้กล่าวไว้ก่อนหน้านี้คุณสามารถแก้ไขไฟล์ของโครงการด้วยตนเอง.csproj
เพื่อนำไปใช้ด้วยตนเอง
ฉันยังสังเกตเห็นว่า Visual Studio 2013 พยายามใช้เส้นทางสัมพัทธ์กับคำใบ้อ้างอิงอาจเป็นเพราะความพยายามที่จะทำให้ไฟล์โครงการพกพาได้มากขึ้น