Кои сборки са в конфликт при открит конфликт между различни версии?

Получавам „открит конфликт между различни версии“ ​​от един от моите проекти.

Как да разбера кои сборки всъщност са в конфликт?


person ripper234    schedule 10.04.2010    source източник
comment
Виждате ли нещо подобно: 103›C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): предупреждение MSB3247: Открити са конфликти между различни версии на една и съща зависима сглобка.   -  person GregC    schedule 05.04.2011


Отговори (3)


Създайте решението и проверете изходния прозорец - трябва да можете да видите там.

person Mike    schedule 10.04.2010
comment
Би трябвало да мога... но не мога. (Вижте коментара ми към @Jono). - person ripper234; 10.04.2010
comment
вижте stackoverflow.com/questions/1871073/, както е отбелязано по-горе - person twomm; 02.07.2013
comment
Проверете вашите CSPROJ файлове. Не видях никаква допълнителна информация в изходния прозорец, но видях неправилен референтен път в CSPROJ, който изглежда не успях да премахна чрез VS GUI. Премахнато, презаредено и възстановено без проблем. - person Sanjay Uttam; 07.12.2013

Прозорецът със списък с грешки (CTRL+W,E) трябва да показва кои сборки са били в конфликт. Ако това не е така, изходният прозорец (CTRL+W,O) ще покаже коя от конфликтните сглобки е произволно избрана за компилация.

person Jono    schedule 10.04.2010
comment
Показва само предупреждение, което не уточнява кои сборки са в конфликт. - person ripper234; 10.04.2010
comment
Ако използвам фраза, която измислих преди време, тя работи на моята машина. Използвате ли RC версията на VS2010? И това C# проект ли е? - person Jono; 10.04.2010
comment
Да, сигурен съм, RC версия и собствен C# проект. - person ripper234; 11.04.2010
comment
Какво ще кажете да използвате msbuild.exe директно от командния ред? ‹code›C:\Windows\Microsoft.NET\Framework\v4.0.30128\msbuild.exe MyTest.csproj‹/code› Може да не е в бита, който е маркиран в жълто, но сканирайте изхода за Няма начин за разрешаване на конфликт между ... - person Jono; 11.04.2010
comment
вижте stackoverflow.com/questions/1871073/, както е отбелязано по-горе - person twomm; 02.07.2013

http://img82.imageshack.us/img82/2484/vs2010sucks2.png

Обикновено двукратното щракване върху грешката ви отвежда до реда, причиняващ проблеми. Там можете да проверите извикванията на метода, които се извикват от рефериращи сборки.

--Редактиране-- Но, съгласен съм с последния коментар; грешка на връзката не хвърля върху конкретния ред код.

person KMån    schedule 10.04.2010
comment
@Downvoter: Някакви причини за гласуването против, които бихте искали да добавите? - person KMån; 10.04.2010
comment
Не бях този, който гласува против, но вашият отговор не изглежда подходящ за моя въпрос. - person ripper234; 10.04.2010
comment
@Ripper234: How do I find out which assemblies are actually in conflict? Обикновено, когато щракнете два пъти върху реда за грешка в изходния прозорец, IDE ви отвежда до реда, причиняващ грешката. Намерението на тази публикация беше да ви помогне да стигнете до тази линия и да видите конфликтните сглобки. Вижте също social.msdn .microsoft.com/Forums/en-US/netfxcompact/thread/ - person KMån; 11.04.2010
comment
Мога да потвърдя, че когато получите съобщение Невъзможно разрешаване на конфликт, двукратното щракване в изходния прозорец не прави нищо. - person Russ Clarke; 05.08.2010
comment
Изходният прозорец е просто изхвърляне на текст... как би могло щракването върху това възможно да направи нещо друго, освен да избере някакъв текст??? - person Dave Lawrence; 17.05.2013
comment
В много случаи тази грешка ви дава връзка в рамките на Microsoft.Common.Targets, вместо действителния сбор в конфликт. - person Bill Yang; 22.05.2013
comment
@daveL VS наистина е доста умен, опитайте го - person twomm; 02.07.2013