Відповіді:
Відкрийте свій файл csproj у блокноті (або блокноті ++). Знайдіть рядок:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
і змінити його на
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Це глобальне рішення, не залежне від конкретного пакета чи кошика.
У моєму випадку я видалив папку " Пакети" з моєї кореневої директорії.
Можливо, це трапляється через те, що ваші пакети є, але компілятор не знаходить його посилання. тому спочатку видаліть старі пакунки та додайте нові.
Крок для додавання нових пакетів
Це не належне рішення, але я розмістив його тут, бо зіткнувся з тим же питанням.
У моєму випадку я навіть не зміг відкрити своє рішення у візуальній студії і не отримав жодної допомоги з іншими відповідями.
Microsoft.CSharp.targetsфайл чомусь видалено! як ви сказали, я видалив packagesпапку і перезапустив Visual Studio, магічно це спрацювало!
Для мене питання полягало в тому, що шлях проекту містив% 20 символів, оскільки git додав ті замість пробілів, коли сховище було клоновано. Інша проблема може бути, якщо шлях до пакету занадто довгий.
git clone <RepoUrl> <LocalDirName>вказати ім'я каталогу, щоб клонуватись, щоб уникнути появи% 20
Це посилання на MSDN також дуже допомагає зрозуміти причину, чому вона не працює. $ (MSBuildToolsPath) - шлях до Microsoft.Build.Engine v3.5 (вставляється автоматично у файл проекту під час створення у VS2008). Якщо ви намагаєтеся створити свій проект для .Net 2.0, будьте впевнені, що ви змінили цей шлях на $ (MSBuildBinPath), який є шлях до Microsoft.Build.Engine v2.0.
У моєму випадку я не міг завантажити один із 5 проектів у своєму рішенні.
Це допомогло закрити Visual Studio, і мені довелося видалити Microsoft.Net.Compilers.1.3.2 нульову папку під packagesпапкою.
Після цього відкрийте рішення ще раз, і проект завантажиться, як очікувалося
Щоб переконатися, закрийте всі екземпляри VS перед тим, як видалити папку.
У мене був такий рядок у файлі csproj:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
Після видалення цього файлу він працює добре.
Якщо ви зіткнулися з помилкою, яка говорить Microsoft.CSharp.Core.targets not found, це кроки, які я вжив, щоб виправити шахту:
Відкрийте будь-яку папку попередніх робочих проектів і перейдіть до посилання, що відображається в помилці, тобто Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/шукайте Microsoft.CSharp.Core.targetsфайл.
Скопіюйте цей файл і помістіть його у неробочий проект tools folder(тобто перехід до папки інструментів у неробочому проекті, як показано вище)
Тепер закрийте свій проект (якщо він був відкритим) і знову відкрийте його.
Це має працювати зараз.
Крім того , щоб переконатися , що все працює належним чином у вашій Тепер відкрийте Visual Studio Project, перейдіть до Tools > NuGetPackage Manager > Manage NuGet Packages For Solution. Тут ви можете знайти помилку, яка говорить про те, що CodeAnalysis.dll використовується іншим додатком.
Знову перейдіть до tools folder, знайдіть вказаний файл та видаліть його. Поверніться до Manage NuGet Packages For Solution. Ви знайдете посилання, яке попросить вас перезавантажити, клацніть по ньому, і все повторно встановиться.
Зараз ваш проект повинен працювати належним чином.
Я отримав це після перевстановлення Windows. Visual Studio було встановлено, і я міг бачити тип проекту Silverlight у вікні New Project, але відкрити його не вдалося. Рішення було простим: мені довелося встановити час виконання Silverlight Developer та / або Microsoft Silverlight 4 Tools для Visual Studio. Це може здатися дурним, але я його не помітив, тому що вважав, що це має спрацювати, оскільки доступний тип проекту Silverlight.
У моєму випадку я відкрив свій .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')" />
Добре, що робити, якщо це сказано: між знаками gt / lt
Імпорт проекту = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /
як я можу виправити помилку цілей?
Я також виявив, що імпортний рядок в демонстраційному проекті (зокрема, "Створіть свій власний MVVM Framework" від Роба Ейзенбурга).
Якщо ви заміните імпорт на той, який запропонував lomaxx, VS2010 RTM повідомляє, що вам потрібно встановити це .
Ця помилка може виникнути і під час відкриття проекту 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).
Я видалив папку obj, а потім проект завантажився як очікувалося.
Іноді проблема може бути з жорстко кодованою версією VS у файлі .csproj. Якщо у вас є csproj щось подібне:
[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"
Ви повинні перевірити, чи правильно вказано число (причиною його неправильності може бути те, що проект був створений з іншою версією Visual Studio). Якщо це неправильно, замініть його на поточну версію інструментів збирання АБО використовуйте змінну VS:
[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"
Я зіткнувся з цим питанням під час виконання ігрової книжки Ansible, тому я хочу додати тут свої 2 центи. Я помітив попереджувальне повідомлення про відсутність Visual Studio 14. Версія 14 для Visual Studio була випущена в 2015 році, і рішенням моєї проблеми було встановлення Visual Studio 2015 Professional на хост-машині мого агента Azure DevOps.
Microsoft.CSharp.TargetsдоMicrosoft.CSharp.targetsв.csprojфайлах.