2010-06-08 9 views
9

Mam kontrolkę użytkownika C, która jest zdefiniowana wewnątrz projektu P. C jest obecny jako ".NET Framework Component" w moim Visual Studio Toolbox. Otworzyć formularz F (także zdefiniowane wewnątrz projektu P) i upuść C na F.Visual Studio dodaje odwołanie cykliczne po przeciągnięciu i upuszczeniu formantu użytkownika z przybornika Toolbox

Raz to zrobić spadek, Visual Studio dodaje odniesienie pod P skierowaną do p własnej DLL. Jest to niepotrzebne i powoduje mnóstwo błędów kompilacji, takich jak The call is ambiguous between the following methods or properties..., po których następuje dwukrotne wyświetlenie tej samej metody. Jeśli przejdę do Referencji i usunę dodane referencje, to będzie ona poprawnie budowana.

Czy mogę zapobiec dodawaniu tego niepotrzebnego odniesienia przez VS?

Podsumowanie (przez SLaks):
W VS2010 dodanie UserControl do postaci tego samego projektu automatycznie dodaje odniesienie do samego projektu, co powoduje problemy.

+0

To jest nowy błąd w VS2010. Zamierzałem zadać to pytanie dziś wieczorem. – SLaks

+1

Czy ktoś wie o jakimkolwiek artykule bazy wiedzy lub innych oficjalnych informacji o tej usterce? – JoelFan

+0

Ostatnio to widzieliśmy. Ponieważ nie ma zbyt wiele "ja też", myślę, że to zależy od nas, aby znaleźć wzór. Oto, z czym pracuję. Rozwiązanie VS2010 przekonwertowane z VS2008. Wszystkie projekty są C#, pierwotnie targetting. NET v3.5, a następnie zmodyfikowane do docelowego .NET v4.0. Projekt interfejsu użytkownika to WinForm. Projekt UI zawiera klasy, które obejmują elementy sterujące Infragistics. Zapakowane formanty są używane w formularzach zamiast w surowych kontrolkach Infragistics. – Mel

Odpowiedz

1

O ile mi wiadomo, dotyczy to przynajmniej od czasu visual studio 2008. Próbowałem znaleźć możliwą poprawkę, ale nie mogłem jej znaleźć. Przepraszamy, ale myślę, że nie można zapobiec niepotrzebnemu odwołaniu i trzeba go usunąć za każdym razem, gdy to robi.

1

Miałem podobne objawy, ale myślę, że przyczyna była inna niż to, co opisujesz. Dla mnie ciągle implementowałem klasę o nazwie, która ścierała się z istniejącą klasą. Doprowadziło to do niejednoznacznego połączenia i rozpętało się inne piekło kompilatora.

Prosta zmiana nazwy sprawdziła.

Powiązane problemy