2008-08-08 3 views

ответ

103

Откройте файл csproj в блокноте (или Notepad ++) Найти строку:

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

и изменить его на

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

Mine говорит, "

+0

@Iomaxx, я исправил проблема, изменив Monodevelop Build Target на Mono/.NET 4.0 из Mono/.NET 3.5. – Frank

+3

Mine уже сказал MSBuildBinPath, но он включил CompactFramework в пространство имен: Teysz

11

Это link on MSDN также помогает много, чтобы понять причину, почему он не работает. $ (MSBuildToolsPath) - это путь к Microsoft.Build.Engine v3.5 (автоматически вставлен в файл проекта при создании в VS2008). Если вы попытаетесь создать свой проект для .Net 2.0, убедитесь, что вы изменили этот путь на $ (MSBuildBinPath), который является путем к Microsoft.Build.Engine v2.0.

2

ИТАК, что если это сказать: между GT/л подписывает

Импорт Project = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets " /

Как устранить ошибку цели?

Я также нашел, что строка импорта в демонстрационном проекте (в частности, «Создайте свою собственную MVVM Framework» Роб Эйзенбурга).

Если вы замените этот импорт на тот, который был предложен RTM-отчетами lomaxx VS2010, вам необходимо установить this.

3

Я получил это после переустановки Windows. Visual Studio была установлена, и я мог видеть тип проекта Silverlight в окне New Project, но открытие одного из них не сработало. Решение было простым: мне пришлось установить среду выполнения Silverlight Developer и/или Microsoft Silverlight 4 Tools для Visual Studio. Это может показаться глупым, но я упустил это из виду, потому что думал, что он должен работать, поскольку был доступен проект проекта Silverlight.

2

Для ошибок с Microsoft.WebApplications.targets, вы можете:

  1. Установка Visual Studio 2010 (или ту же версию, что и в машине разработки) на сервере TFS.
  2. Скопируйте файл «Microsoft.WebApplication.targets» из файла машины разработки в машину сборки TFS.

Here's должность.

4

Я использовал, чтобы иметь эту следующую строку в файл csproj:

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

После удаления этого файла, он отлично работает.

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).

3

Если вы столкнулись с ошибкой, в которой говорится, что Microsoft.CSharp.Core.targets не найден, это шаги, которые я предпринял для исправления моих. Откройте любую папку предыдущих рабочих проектов и перейдите по ссылке, указанной в ошибке: Project/(название рабочего проекта) /packages/Microsoft.Net.Compilers.1.3.2/tools/ и выполните поиск Microsoft.CSharp.Core. файл целей. Скопируйте этот файл и поместите его в нерабочую папку «Инструменты» (то есть, перейдя к папке с инструментами в нерабочем проекте, как показано выше) Теперь закройте свой проект (если он был открыт) и снова откройте его , Теперь он должен работать. Кроме того, чтобы убедиться, что все работает правильно в вашем открытом проекте Visual Studio, откройте «Инструменты» - NuGetPackage Manager - Управление пакетами NuGet для решения. Здесь, возможно, вы обнаружите ошибку, которая говорит, что CodeAnalysis.dll используется другим приложением. Снова перейдите в «папку с инструментами», найдите указанный файл и удалите его. Вернитесь к разделу «Управление пакетами NuGet для решения». Вы найдете ссылку, которая попросит вас перезагрузить, щелкните по нему, и все будет повторно установлено. Теперь ваш проект должен работать правильно.

33

Это глобальное решение, не зависящее от конкретного пакета или контейнера.

В моем случае, я удалил пакетов папки из моего корневого каталога.

Возможно, это происходит из-за ваших пакетов, но компилятор не находит ссылку. поэтому сначала удалите старые пакеты и добавьте новые пакеты.

Шаги к Добавить новые пакеты

  • сначала удалить, пакеты папки (будет рядом или один шаг к текущей папке проекта).
  • Затем перезапустите проект или решение.
  • Теперь переустановите файл решения.
  • Проект получит новые ссылки от менеджера пакетов nuGet. И ваша проблема решена.

Это неправильное решение, но Я разместил его здесь, потому что у меня такая же проблема.

В моем случае, Я даже не могу открыть свое решение в визуальной студии и не получил никакой помощи в ответах выше.

+1

Как говорит Альф Мох, просто найдите этот файл где-то еще на своем компьютере и скопируйте его в папку, где он ищет его. –

+0

@SerjSagan да, это поможет, но иногда вы не можете открыть даже файл решения в визуальная студия, в то время мое решение wi ll help .. – Bharat

+1

Это сработало для меня! – xhedgepigx

1

В моем случае я открыл файл .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')" /> 
5

Для меня вопрос в том, что путь проекта содержал% 20 символов, потому что мерзавец добавлены те вместо пробелов, когда репозиторий был клонирован. Другая проблема может возникнуть, если путь к пакету слишком длинный.

0

Я удалил папку obj, а затем проект загрузился, как ожидалось.

4

В моем случае я не мог загрузить один из 5 проектов в моем решении.

Это помогло близко Visual Studio и мне пришлось удалитьMicrosoft.Net.Compilers.1.3.2 папку NuGet под packages папку.

Затем откройте свое решение снова и проект загружен как ожидается

Просто, чтобы быть уверенным, закройте все экземпляры VS перед удалением папки.

0

Иногда проблема может быть с жестко запрограммированной версией VS в файле .csproj. Если у вас есть в вашем csproj что-то вроде этого:

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

Вы должны проверить, если номер правилен (причина это неправильно может быть проект был создан с другой версией Visual Studio). Если это не так, замените его с текущей версией сборки инструментов или использовать переменную VS:

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets" 
Смежные вопросы