Visual Studio ไม่อีกต่อไปไปที่นิยามวิธีการ


5

ฉันพลาดความสามารถในการกดปุ่ม F12 และไปที่นิยามของวิธีการ เนื่องจากโซลูชันของฉันประกอบด้วยโครงการที่แยกจากกันสี่โครงการเมื่อฉันกด F12 และวิธีการ (หรือคุณสมบัติหรืออะไรก็ตาม) อยู่ในโครงการอื่นจึงเปิดเบราว์เซอร์วัตถุที่ไร้ค่าอย่างสมบูรณ์ มีการตั้งค่าที่ฉันสามารถแก้ไขได้ไหมเพื่อให้ไปยังไฟล์และวิธีการที่ถูกต้อง? หรือว่าฉันคือ SOL ...

ขอบคุณ


คำถามนี้ไม่ได้อยู่นอกหัวข้อที่นี่ แต่ฉันสงสัยว่าคุณจะพบผู้ใช้ Visual Studio เพิ่มเติมเกี่ยวกับ Stack Overflow
CarlF

@carlf ฉันคิดว่าเกี่ยวกับที่ แต่คิดว่ามันจะถูกเปลี่ยนเส้นทางไปที่นี่เพราะมันไม่ได้ "การเขียนโปรแกรมที่เกี่ยวข้อง"
เจสัน

คำตอบ:


2

สิ่งนี้ยังใช้ได้สำหรับฉัน อาจเป็นได้ว่าคุณได้ติดตั้งส่วนเสริม / ส่วนขยายที่แมป F12 ใหม่

การรีเซ็ตมันคุณสามารถไปจากนั้นคลิกที่ปุ่มด้านล่างของกล่องโต้ตอบซึ่งมีข้อความว่าTools > Customize Keyboard...ในกล่องโต้ตอบที่ปรากฏขึ้นให้พิมพ์Edit.GoToDefinitionในShow commands containing:กล่องข้อความ

ตั้งค่าการUse new shortcut in: กดในกล่องข้อความ คลิก Global
F12Press shortcut keys:
Assign

จากนั้นคุณสามารถตกลงออกจากกล่องโต้ตอบและควรคืนค่าฟังก์ชันการทำงาน


1
ไม่ทำงาน: \ คีย์ F12 ทำงานเมื่อคุณกำลังค้นหาคำจำกัดความในโครงการเดียวกัน แต่เมื่อคุณกำลังค้นหาคำนิยามในโครงการอื่น (ยังอยู่ในโซลูชันเดียวกันแน่นอน) มันเพิ่งเปิด เบราว์เซอร์วัตถุ
Jason

อืมฉันเพิ่งลองที่นี่ ฉันมีวิธีแก้ปัญหาซึ่งมีโครงการต่างกันประมาณสิบโครงการ ฉันไปที่ไฟล์ในโปรเจ็กต์หนึ่งซึ่งอ้างอิงคลาสในอีกโปรเจ็กต์ไฮไลต์คลิกF12และพาฉันไปที่ไฟล์คลาส มันอาจขึ้นอยู่กับว่าเมื่อคุณเพิ่มการอ้างอิงถึงโปรเจ็กต์ A ในโปรเจ็กต์ B หากคุณเลือกโปรเจ็กต์ A ในProjectsแท็บหรือAssembliesแท็บของAdd Referenceไดอะล็อก
eidylon

ในการอ้างอิงของฉันโครงการจะถูกอ้างอิงสำหรับโครงการอื่นทั้งสอง: \
เจสัน

2

ฉันพบว่าหากโครงการอ้างอิงกำหนดเป้าหมายเป็นกรอบงานที่แตกต่างกัน (เช่นแอปพลิเคชันของฉันคือ 4.0 แต่โมเดลของฉันใน 3.5) F12 จะไปที่เบราว์เซอร์วัตถุ

เมื่อการอ้างอิงมีเป้าหมายในกรอบงานเดียวกัน F12 จะทำงาน . .


น่าสนใจ ฉันจะตรวจสอบนี้ ขอบคุณสำหรับคำตอบ .. ยังไม่ได้ผลสำหรับฉันจนถึงวันนี้!
Jason

โหวตขึ้นเพราะนี่คือปัญหาที่ฉันมี VS2008 นำเข้าไลบรารีคลาส. NET 3.5 แต่เว็บไซต์ถูกสร้างจากศูนย์เป็นเว็บไซต์. NET 4 เปลี่ยน
ไลบรารี่

1

ฉันพบว่าเครื่องมือการเพิ่มโค้ดที่เพิ่งติดตั้ง (Telerik JustCode) ได้จี้ฮอตคีย์ F12 F12 (ทั่วโลก) ยังคงเกี่ยวข้องกับคำจำกัดความของ GoTo แต่เห็นได้ชัดว่า F12 (แก้ไข) มีความสำคัญกว่า มีบางอย่างผิดปกติกับการติดตั้ง JustCode ของฉันดังนั้นมันจึงไม่ทำงานและ F12 จะไม่ทำงานอีกต่อไป

เนื่องจากฉันไม่ได้ใช้ JustCode จริงๆฉันจึงถอนการติดตั้ง หลังจากทำสิ่งนี้ F12 ก็เริ่มทำในสิ่งที่ควรจะทำ


ขอบคุณสำหรับทิป. ฉันจะลองใช้เมื่อฉันกลับถึงบ้าน!
Jason

0

คุณอาจเพิ่มไฟล์ไบนารี (dll) เป็นข้อมูลอ้างอิงของคุณ ลองทำสิ่งต่อไปนี้ใน Solution Explorer:
(1) ภายใต้โครงการไคลเอนต์ของคุณขยายการอ้างอิง
(2) ค้นหาและลบการอ้างอิงถึงคลาสที่มีวิธีการ / คุณสมบัติของคุณ
(3) ภายใต้โครงการไคลเอนต์เดียวกันเพิ่มการอ้างอิงใหม่
(4) แท็บ "โครงการ" ในกล่องโต้ตอบ "เพิ่มการอ้างอิง"
ฉันถือว่าระบบของคุณมีทั้งสองโครงการ


ลองแล้ว ... ยังไปที่เบราว์เซอร์วัตถุ wtf
Jason

hmmm ... ขออภัยที่จะได้ยิน ... เพียงแค่สำหรับ heck ของมันคุณสามารถทำซ้ำขั้นตอนเดียวกัน แต่คราวนี้บันทึกโครงการลูกค้าของคุณหลังจากลบการอ้างอิง (ขั้นตอนที่ 2) แล้วเริ่มต้นใหม่ (ปิดและเปิด) Visual Studio และ ดำเนินการต่อด้วยขั้นตอนที่ 3 และ 4 (หากคุณพยายามรวบรวมระหว่าง 3 และ 4 คุณจะได้รับข้อผิดพลาดมากมาย แต่จะเป็นเพียงชั่วคราว)
Arun

1
นอกจากนี้เมื่อคุณคลิกขวาที่คุณสมบัติและวิธีการและเลือก "ไปที่คำจำกัดความ" คุณอยากได้พฤติกรรมเช่นเดียวกับ "F12" หรือไม่?
อรุณ

@ รันฉันได้รับพฤติกรรมเดียวกันเมื่อฉันคลิกขวาและกดไปที่คำจำกัดความและ F12 มันน่าผิดหวัง suuuuper
เจสัน

โดยปกติเมื่อคุณเพิ่มการอ้างอิงโครงการ (แทนการอ้างอิง dll) ลงในโครงการที่ใช้งานแล้วไฟล์โครงการจะเก็บข้อมูลที่โมดูลอ้างอิงเป็นโครงการที่มีอยู่ในโซลูชันและไม่ใช่ไบนารี ลองเปิด Project บริโภคใน Notepad (หรือแก้ไขข้อความใด ๆ ) และค้นหาโมดูลอ้างอิง หากคุณเห็นว่าภายใต้แท็ก "อ้างอิง" (เช่นใน "& lt; การอ้างอิงรวม = yourDll & gt;" แสดงว่ามีปัญหาของคุณอยู่เพียงแค่ลบออกและเพิ่มสิ่งนี้: ใต้
Arun


0

แตกต่างจากคำถามของ OP เล็กน้อย แต่ความสามารถในการไปสู่คำจำกัดความของฉันนั้นไม่มีอยู่จริง ฉันใช้ Resharper ดังนั้นฉันคิดว่าอาจจะมีปัญหา

ในที่สุดฉันก็ต้องปิดและเปิด Visual Studio อีกครั้ง

หวังว่าจะช่วยใครซักคน . .

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.