Подтвердить что ты не робот

Целевой "_CopyBinDeployableAssemblies" не существует в проекте

Я установил Visual Studio 2010 SP1 на днях, и теперь, когда я пытаюсь "публиковать" свои приложения, я получаю эту ошибку для ВСЕХ моих проектов.

The target "_CopyBinDeployableAssemblies" does not exist in the project.

Я понятия не имею, в чем проблема, и я не нахожу ничего на всех могущественных Google, и это меня немного нервничает.

Может ли кто-нибудь указать мне в правильном направлении или кто-то другой имеет такую ​​же проблему? Потому что это происходит во всех моих проектах, поэтому я очень удивлен ими с этой проблемой.

Сайты - это веб-приложения ASP.NET, некоторые из которых представляют собой смешанные веб-формы/MVC, но только для Webforms. 1 сайт супер мега простой с почти без ссылок, и я все еще получаю ошибку.

4b9b3361

Ответ 1

Я также испытал эту проблему после установки бета-версии Visual Studio 2010 SP1.

Недопустимая цель _CopyBinDeployableAssemblies определена в:

$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets

Я решил проблему, добавив элемент <Import> к сломанным файлам проекта.

Итак, если у вас есть зависимость от вышеуказанных целей, которую вы можете узнать, просмотрев следующие <Import> в ваших файлах проекта:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

Вам также нужно импортировать:

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

Ответ 2

Из joao-angelo сообщение в блоге, добавьте следующее в проект файл (.csproj/.vbproj)

<Target Name="Noop"></Target>

<PropertyGroup>
  <CollectFilesFrom_binDeployableAssembliesDependsOn>
    Noop
  </CollectFilesFrom_binDeployableAssembliesDependsOn>
</PropertyGroup>

перед импортом

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

Это работает для меня с помощью ClickOnce on VS2010 SP1 с помощью преобразования App.config

Ответ 3

Ответ, данный выше Рагджем, был тем, что мне нужно. Но в моем случае я добавил только вторую строку. Первая строка, которую Ragge дал, уже была в файле проекта.

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

Ответ 4

Хохо, Иаков прав!

Когда мы устанавливаем VS 2010 SP1, по умолчанию путь MSBuild будет сфокусирован на папку

[C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0]

not

[C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0].

И файл [Microsoft.WebApplication.targets] имеет цель сборки с именем [_CopyBinDeployableAssemblies].

Итак, мы просто добавляем цель [_CopyBinDeployableAssemblies] в наш файл проекта (можете открыть его с помощью Notepad:)) , проблема была решена.

Пример: <Target Name="_CopyBinDeployableAssemblies"></Target>. Просто нужна пустая цель:)

Ответ 5

Хорошо, потратил 4 часа на это сегодня, и я решил это сейчас. Но, к сожалению, у меня нет определенного ответа, в чем проблема. Buit я опишу, что я сделал.

  • Удаленный пакет SP 1 и получил пару ошибок. Это где, потому что у меня не было установочного носителя VS, и там, где его просят.
  • SP1, похоже, был удален, но я все еще получил ошибку.
  • Скачан VS Ultimate Trial и попытался сделать ремонт, не помог.
  • Скачан VS 2010 SP1 и установил его. По-прежнему та же проблема.
  • Удаленный VS SP1 с доступом к VS Ultimate установочному носителю, и я получил только одну ошибку, где ему нужны какие-то файлы VS Express, я нажал кнопку "Отмена" на этом, и он сказал, что сбой не удался.
  • Запущена Visual Studio и проблема, куда ушла! Аллилуйя!

И хорошо, я не обвиняю MS в этом вообще. Я знал, где бета, но у меня никогда не было таких проблем, как раньше.

Надеюсь, что это решает проблему для кого-то еще.

Ответ 6

Ответ Рагжа дал нам и работу. У меня было решение, которое я не открывал с момента установки SP1, который просто отказался строить с той же ошибкой. Отредактировал файл проекта в Блокноте, чтобы включить эти два утверждения и альта! проблема решена. Большое спасибо за ваше усердие!

Дополнение: коллега отметил, что добавление импорта приведет к сбоям, возникающим за пределами Visual Studio, скорее всего, будет жаловаться (командная строка msbuild, сервер сборки), поскольку Microsoft.WebApplication.targets там не существует. Поэтому мы изменили строку импорта следующим образом:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="$(BuildingInsideVisualStudio) == true AND exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets')" />

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

Ответ 7

Разверните проект и отредактируйте и добавьте следующий код в файл проекта в конце <Import>

<Target Name="_CopyBinDeployableAssemblies" 
        Condition="Exists('$(MSBuildProjectDirectory)\_bin_deployableAssemblies')">
    <CreateItem Include="$(MSBuildProjectDirectory)\_bin_deployableAssemblies\**\*.*" 
            Condition="Exists('$(MSBuildProjectDirectory)\_bin_deployableAssemblies')" 
            Exclude="$(MSBuildProjectDirectory)\_bin_deployableAssemblies\.svn\**\*">
        <Output ItemName="_binDeployableAssemblies" TaskParameter="Include" />
    </CreateItem>
    <Copy SourceFiles="@(_binDeployableAssemblies)" 
            DestinationFolder="$(OutDir)\%(RecursiveDir)" SkipUnchangedFiles="true" 
            Retries="$(CopyRetryCount)" 
            RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" />
</Target> 

Ответ 8

Это VS 2013 SP 3, и у меня все еще есть эта проблема! Чтобы исправить это, мне пришлось изменить следующую строку при сбое проектов:

<Import Project="$(VSToolsPath)\Web\Microsoft.Web.Publishing.targets" Condition="'$(VSToolsPath)' != ''" />

в следующую строку:

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />