Згаданий проект "втрачається" під час компіляції


102

У мене є рішення C # з двома проектами: сервіс (основний проект) та реєстратор. Сервіс використовує класи з реєстратора. Я додав посилання на проект реєстратора в рамках сервісного проекту. Під час проектування автозаповнення працює чудово: класи журналів видно, посилання, які я використовую, кольорові відповідно.

Я відновлюю рішення, і все піде не так. Посилання більше не розпізнаються: "Назва" Ведення журналу "не існує в поточному контексті", і класи більше не існують в автозаповнення. Видалення та повторне прив'язування посилання повертає мене до базового стану, коли ідентифікатори видно для автозаповнення.

Я перезавантажив, очистив усі кеші, переконався, що це єдиний екземпляр VS 2010, що працює на моїй машині.

Чи є щось очевидне (очевидно), що я пропускаю?

Відповіді:


158

Перевірте свої типи складання кожного проекту відповідно до властивостей проекту - я ставлю ставку на те, що той чи інший буде налаштований на створення .NET XX - Client Profile.

Що стосується непослідовної версії, зокрема, з однією істотою, Client Profileа з іншою ні, то вона працює в час проектування, але не працює під час компіляції. Справжня гатча.

У Visual Studio 2010 для мене відбувається щось кумедне, що дозволяє створювати проекти, здавалося б, випадковим чином Client Profile, іноді коли я створюю проект, а іноді через кілька днів. Можливо, якийсь ярлик клавіатури я випадково потрапляю ...


1
Б'юсь об заклад, що ти маєш рацію ... і сором мені, якщо так, що не пам’ятаю цього порівнянного питання, яке я задав минулого місяця! stackoverflow.com/questions/3991361/…
Боб Кауфман

6
@Bob Він продовжує кровоточити зі мною, і так само, як у вас виникає попереднє запитання, кожен раз, коли це трапляється, принаймні на кілька хвилин я все ретельно плутаюсь, поки не згадаю "Oooooh, чекай, клієнт ** ** ing Profile "
joshcomley

4
Я також мав цю проблему з VS2012. Виявилося, що це не проблема клієнтського профілю, але те, що проект, що посилається, був у 4,5, а новий проект, на який посилався, був дефолтом до 4,0. Натрапив на той на 4,5 і проблема пішла. Це ж рішення справді, лише чергова варіація.
Бред Метюз

Це сталося зі мною нещодавно у VS 2013. Проект був за замовчуванням 4,5, але одна з бібліотек була побудована на 4.5.2. Якщо проект складає 4.5.2, а одна з бібліотек - 4.5 або 4.5.1, він працюватиме. Але не навпаки.
ahwm

4

Переконайтесь, що обидва проекти мають однакову версію цільової рамки тут: клацніть правою кнопкою миші на проект -> властивості -> додаток (вкладка) -> цільова рамка

Також переконайтесь, що проект "реєстратор" (який ви хочете включити в основний проект) має тип виводу "Бібліотека класів" у: клацніть правою кнопкою миші на проект -> властивості -> додаток (вкладка) -> тип виводу

Нарешті, відновіть рішення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.