Імпортований проект "C: \ Microsoft.CSharp.targets" не знайдено


126

Я отримав цю помилку сьогодні при спробі відкрити Visual Studio 2008 проект в Visual Studio 2005: Додати

Імпортований проект "C: \ Microsoft.CSharp.targets" не знайдено.


Я повинен був перейменувати свої посилання з Microsoft.CSharp.Targetsдо Microsoft.CSharp.targetsв .csprojфайлах.
Стефан

Відповіді:


112

Відкрийте свій файл csproj у блокноті (або блокноті ++). Знайдіть рядок:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

і змінити його на

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

22
Шахта каже: "<Імпорт проекту =" $ (MSBuildExtensionsPath32) \ ... "
Б. Клей Шеннон

@Iomaxx, я вирішив цю проблему, змінивши ціль збірки Monodevelop на Mono / .NET 4.0 з Mono / .NET 3.5.
Френк

5
Шахта вже сказала MSBuildBinPath, але вона включила CompactFramework у простір імен: <Import Project = "$ (MSBuildBinPath) \ Microsoft.CompactFramework.CSharp.targets" />
Teysz

Якщо ви використовуєте Monodevelop встановлює пакети: "mono-msbuild" та "mono-msbuild-sdkresolver". ПРИМІТКА: Тестовано на Linux Manjaro.
Едуардо Лусіо

Вам потрібно буде видалити пакет "msbuild-stable" (або еквівалентний), якщо він встановлений. ПРИМІТКА: Тестовано на Linux Manjaro.
Едуардо Луціо

59

Це глобальне рішення, не залежне від конкретного пакета чи кошика.

У моєму випадку я видалив папку " Пакети" з моєї кореневої директорії.

Можливо, це трапляється через те, що ваші пакети є, але компілятор не знаходить його посилання. тому спочатку видаліть старі пакунки та додайте нові.

Крок для додавання нових пакетів

  • Спочатку видаліть папку пакунків ( вона буде поруч або на один крок до поточної папки проекту ).
  • Потім перезапустіть проект або рішення.
  • Тепер відновіть файл рішення.
  • Проект отримає нові посилання від менеджера пакунків nuGet. І ваше питання було вирішено.

Це не належне рішення, але я розмістив його тут, бо зіткнувся з тим же питанням.

У моєму випадку я навіть не зміг відкрити своє рішення у візуальній студії і не отримав жодної допомоги з іншими відповідями.


1
Як каже Альф Мох, просто знайдіть цей файл десь ще на своєму комп’ютері та скопіюйте його в папку, де він його шукає
Серж Саган

@SerjSagan так, це допоможе, але іноді ви не можете відкрити навіть файл рішення у візуальній студії, тоді моє рішення допоможе ..
Bharat

5
У мене ця проблема була у Visual Studio для Mac, Microsoft.CSharp.targetsфайл чомусь видалено! як ви сказали, я видалив packagesпапку і перезапустив Visual Studio, магічно це спрацювало!
A-Sharabiani

1
Це зафіксувало це для мене, але мій колега зміг це зробити вперше. Поки це працює, у мене є ще щось знайти!
JakePlatford

1
Приємний один брато! На цьому я втратив 1 годину
Уго Нава Копп

20

Для мене питання полягало в тому, що шлях проекту містив% 20 символів, оскільки git додав ті замість пробілів, коли сховище було клоновано. Інша проблема може бути, якщо шлях до пакету занадто довгий.


1
Це було проблемою для мене. У назві проекту було місце для цього, тому ім'я каталогу після клона git містило в ньому% 20. Ви можете git clone <RepoUrl> <LocalDirName>вказати ім'я каталогу, щоб клонуватись, щоб уникнути появи% 20
Dan Cook

11

Це посилання на MSDN також дуже допомагає зрозуміти причину, чому вона не працює. $ (MSBuildToolsPath) - шлях до Microsoft.Build.Engine v3.5 (вставляється автоматично у файл проекту під час створення у VS2008). Якщо ви намагаєтеся створити свій проект для .Net 2.0, будьте впевнені, що ви змінили цей шлях на $ (MSBuildBinPath), який є шлях до Microsoft.Build.Engine v2.0.


11

У моєму випадку я не міг завантажити один із 5 проектів у своєму рішенні.

Це допомогло закрити Visual Studio, і мені довелося видалити Microsoft.Net.Compilers.1.3.2 нульову папку під packagesпапкою.

Після цього відкрийте рішення ще раз, і проект завантажиться, як очікувалося

Щоб переконатися, закрийте всі екземпляри VS перед тим, як видалити папку.


6

У мене був такий рядок у файлі csproj:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Після видалення цього файлу він працює добре.


6

Якщо ви зіткнулися з помилкою, яка говорить Microsoft.CSharp.Core.targets not found, це кроки, які я вжив, щоб виправити шахту:

  1. Відкрийте будь-яку папку попередніх робочих проектів і перейдіть до посилання, що відображається в помилці, тобто Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/шукайте Microsoft.CSharp.Core.targetsфайл.

  2. Скопіюйте цей файл і помістіть його у неробочий проект tools folder(тобто перехід до папки інструментів у неробочому проекті, як показано вище)

  3. Тепер закрийте свій проект (якщо він був відкритим) і знову відкрийте його.

Це має працювати зараз.

Крім того , щоб переконатися , що все працює належним чином у вашій Тепер відкрийте Visual Studio Project, перейдіть до Tools > NuGetPackage Manager > Manage NuGet Packages For Solution. Тут ви можете знайти помилку, яка говорить про те, що CodeAnalysis.dll використовується іншим додатком.

Знову перейдіть до tools folder, знайдіть вказаний файл та видаліть його. Поверніться до Manage NuGet Packages For Solution. Ви знайдете посилання, яке попросить вас перезавантажити, клацніть по ньому, і все повторно встановиться.

Зараз ваш проект повинен працювати належним чином.


3

Я отримав це після перевстановлення Windows. Visual Studio було встановлено, і я міг бачити тип проекту Silverlight у вікні New Project, але відкрити його не вдалося. Рішення було простим: мені довелося встановити час виконання Silverlight Developer та / або Microsoft Silverlight 4 Tools для Visual Studio. Це може здатися дурним, але я його не помітив, тому що вважав, що це має спрацювати, оскільки доступний тип проекту Silverlight.


3

У моєму випадку я відкрив свій .csproj файл у блокноті та видалив наступні три рядки. Працював як шарм:

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

2

Добре, що робити, якщо це сказано: між знаками gt / lt

Імпорт проекту = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /

як я можу виправити помилку цілей?

Я також виявив, що імпортний рядок в демонстраційному проекті (зокрема, "Створіть свій власний MVVM Framework" від Роба Ейзенбурга).

Якщо ви заміните імпорт на той, який запропонував lomaxx, VS2010 RTM повідомляє, що вам потрібно встановити це .


2

Для помилок із Microsoft.WebApplications.targets: Ви можете:

  1. Встановіть Visual Studio 2010 (або ту саму версію, що і в розроблювальній машині) на свій сервер TFS.
  2. Скопіюйте “ Microsoft.WebApplication.targets” з файлу машини розробки на машину побудови TFS.

Ось допис.


1

Ця помилка може виникнути і під час відкриття проекту Silverlight, який був вбудований в SL 4, тоді як у вас встановлено SL 5.

Ось приклад повідомлення про помилку: імпортованого проекту "C: \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets" не знайдено.

Зверніть увагу на v4.0.

Щоб вирішити, відредагуйте проект і знайдіть:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

І змінити його на v5.0.

Потім перезавантажте проект, і він відкриється (якщо тільки у вас не встановлено SL 5).



0

Іноді проблема може бути з жорстко кодованою версією VS у файлі .csproj. Якщо у вас є csproj щось подібне:

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

Ви повинні перевірити, чи правильно вказано число (причиною його неправильності може бути те, що проект був створений з іншою версією Visual Studio). Якщо це неправильно, замініть його на поточну версію інструментів збирання АБО використовуйте змінну VS:

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

0

Я зіткнувся з цим питанням під час виконання ігрової книжки Ansible, тому я хочу додати тут свої 2 центи. Я помітив попереджувальне повідомлення про відсутність Visual Studio 14. Версія 14 для Visual Studio була випущена в 2015 році, і рішенням моєї проблеми було встановлення Visual Studio 2015 Professional на хост-машині мого агента Azure DevOps.


0

Після спроби відновлення, закриття VS, видалення невдалого пакету, повторного відкриття, спроби відновлення, кілька разів я просто видаляв усе в пакунках, і коли я робив відновлення, він працював ідеально.

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