Microsoft.CompactFramework.CSharp.targets не был найден при открытии проектов

Я пытался создать проект смарт-устройства в Visual Studio 2008.

Целевая платформа: Windows Mobile 5.0 Pocket PC SDK.

Версия .NET Compact Framework: .NET Compact Framework 3.5

Но я получаю следующую ошибку:

enter image description here

Ответ 1

Это плохо документировано.

Как распространяемый пакет .NET Compact Framework, так и Power Toys должны быть установлены, чтобы все необходимые файлы (например, файлы целей MSBuild) были доступны для компиляции.

Ответ 2

Для всех тех, кто заканчивается здесь в результате обновления "10-летнего обновления" Windows 10, обратите внимание, что файл Microsoft.Compactframework.CSharp.Targets можно найти в каталоге C:\Windows.old\WINDOWS\Microsoft.NET\Framework\v3.5 и скопирован обратно туда, где он принадлежит!

(То же самое с Microsoft.CompactFramework.Common.targets, Microsoft.CompactFramework.VisualBasic.targets)

Ответ 3

Это также случилось со мной, и не раз, с двумя проектами для Visual Studio 2008 Professional.

Мне довольно легко решить эту проблему: просто переустановите (я использую опцию "Восстановить", которая, кажется, отлично работает) Power Toys для .NET Compact Framework 3.5. Вы можете найти этот инструмент здесь: http://www.microsoft.com/en-us/download/details.aspx?id=13442

Я думаю, что иногда, возможно, после некоторых автоматических обновлений Windows/.NET Framework, эта проблема все еще может возникать. Но решение в этом случае довольно простое, и нет необходимости редактировать файл .vbproj/.csproj!

Ответ 4

Я встретил ту же ошибку. Решение vs2008.

Ответ 5

Откройте файл csproj в блокноте и найдите следующую строку:

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

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

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

Надеюсь, это помогло.

Ответ 6

Для людей, приземляющихся здесь через поиск Google и использование Jetbrains Ryder:

Я использую VS2008 и Jetbrains Ryder рядом друг с другом для разработки. Мой VS2008 работал нормально, а Райдер - нет. Мне пришлось вручную скопировать несколько файлов из одной папки в другую, чтобы это работало.

Чтобы исправить это, вам нужно будет скопировать несколько целевых файлов из одной папки в другую.

Перейдите в папку C:\Windows\Microsoft.NET\Framework\v3.5 и скопируйте следующие файлы:

  • Microsoft.CompactFramework.Common.targets
  • Microsoft.CompactFramework.CSharp.targets
  • Microsoft.CompactFramework.VisualBasic.targets

Теперь перейдите в C:\Program Files (x86)\MSBuild\14.0\Bin и вставьте скопированные файлы сюда.

Наконец, перезагрузите Райдера, и все готово!

Вышеуказанные шаги помогли мне с Ryder IDE, но если у вас возникли те же проблемы с VS2008, возможно, стоит попробовать.