Построение успешно завершается, но публикация не выполняется
До двух дней назад я смог использовать Visual Studio 2010 "Опубликовать веб-сайт", щелкнув правой кнопкой мыши на моем проекте и нажав кнопку публикации в контекстном меню. Теперь, когда я пытаюсь сделать то же самое, я получаю следующий вывод:
------ Build started: Project: ELMS, Configuration: Debug Any CPU ------
Build started 8/1/2011 3:08:03 PM.
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are
up-to-date with respect to the input files.
_CopyOutOfDateSourceItemsToOutputDirectoryAlways:
Copying file from "C:\SVN\TrakNet\trunk\MTS\lib\Newtonsoft.Json.Net35.dll" to
"bin\lib\Newtonsoft.Json.Net35.dll".
CopyFilesToOutputDirectory:
LMS -> C:\SVN\TrakNet\trunk\MTS\bin\LMS.dll
Build succeeded.
Time Elapsed 00:00:00.04
------ Publish started: Project: LMS, Configuration: Debug Any CPU ------
Object reference not set to an instance of an object.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
Это при попытке публикации на localhost (для целей отладки)
Вот настройки профиля публикации, которые я использую:
Publish Method: Web Deploy
Service URL: localhost
Site/application: default web site/ELMS
[x] Mark as IIS application on destination
[x] Leave extra files on destination (do not delete)
Я уже пытался:
- Cleaning/rebuilding the project
- Deleting the bin folder of the project
- Running reg_iis.exe -i
- Reinstalling VS2010
но ничего, что я изменил, исправил ошибку.
Любое понимание того, что может вызвать проблему, будет с благодарностью:)
EDIT:
Проблема действительно разрешилась с моей последней перезагрузки. Я должен был перезагрузиться 6-7 раз, так как проблема впервые проявилась, но на этот раз нет сообщения об объекте. Здесь журнал из сборки/публикации сейчас:
------ Build started: Project: LMS, Configuration: Debug Any CPU ------
Build started 8/3/2011 9:10:12 AM.
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
_CopyOutOfDateSourceItemsToOutputDirectoryAlways:
Copying file from "C:\SVN\TrakNet\trunk\MTS\lib\Newtonsoft.Json.Net35.dll" to "bin\lib\Newtonsoft.Json.Net35.dll".
CopyFilesToOutputDirectory:
LMS -> C:\SVN\TrakNet\trunk\MTS\bin\LMS.dll
Build succeeded.
Time Elapsed 00:00:00.04
------ Publish started: Project: LMS, Configuration: Debug Any CPU ------
Gather all files from Project items @(IntermediateAssembly). Adding:
bin\LMS.dll to bin\LMS.dll
bin\LMS.pdb to bin\LMS.pdb
Gather all files from Project items @(Content). Adding:
Global.asax;lib\Newtonsoft.Json.Net35.dll;MtsSchemas\MtsSchema.xml;Web.config
Gather all files from Project output (IntermediateSatelliteAssembliesWithTargetPath).
Adding:
Gather all files from Project items
@(ReferenceCopyLocalPaths,ReferenceComWrappersToCopyLocal,ResolvedIsolatedComModules,_DeploymentLooseManifestFile,NativeReferenceFile).
Gather all files from Project items @(AllExtraReferenceFiles). Adding:
Gather all files from Project items
@(_SourceItemsToCopyToOutputDirectoryAlways,_SourceItemsToCopyToOutputDirectory). Adding:
bin\lib\Newtonsoft.Json.Net35.dll
Gather all files from Project items @(_binDeployableAssemblies). Adding:
Publish Pipeline Collect Files Phase
Found The following for Config tranformation:
Web.config
Creating directory "C:\SVN\TrakNet\trunk\MTS\obj\Debug\TransformWebConfig\transformed\".
Publish Pipeline Transform Phase
Creating directory "C:\SVN\TrakNet\trunk\MTS\obj\Debug\CSAutoParameterize\transformed\".
Copying Web.config to obj\Debug\CSAutoParameterize\original\Web.config.
Transforming Source File: C:\SVN\TrakNet\trunk\MTS\Web.config
Applying Transform File: <?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add
connectionString="{% token='$(ReplacableToken_#(parameter)_#(tokennumber))' xpathlocator='name' parameter='$(name)-Web.config Connection String' description='$(name) Connection String used in web.config by the application to access the database.' defaultValue='$(connectionString)' tags='SqlConnectionString' %}"
xdt:Transform="SetTokenizedAttributes(connectionString)" xdt:SupressWarnings="True" />
</connectionStrings>
</configuration>
Output File: obj\Debug\CSAutoParameterize\transformed\Web.config
Transformation succeeded
Auto ConnectionString Transformed Web.config into obj\Debug\CSAutoParameterize\transformed\Web.config.
Creating directory "obj\Debug\Package\PackageTmp".
Copying all files to temporary location below for package/publish:
obj\Debug\Package\PackageTmp.
Copying bin\LMS.dll to obj\Debug\Package\PackageTmp\bin\LMS.dll.
Copying bin\LMS.pdb to obj\Debug\Package\PackageTmp\bin\LMS.pdb.
Copying Global.asax to obj\Debug\Package\PackageTmp\Global.asax.
Copying lib\Newtonsoft.Json.Net35.dll to obj\Debug\Package\PackageTmp\lib\Newtonsoft.Json.Net35.dll.
Copying MtsSchemas\MtsSchema.xml to obj\Debug\Package\PackageTmp\MtsSchemas\MtsSchema.xml.
Copying C:\SVN\TrakNet\trunk\MTS\lib\Newtonsoft.Json.Net35.dll to obj\Debug\Package\PackageTmp\bin\lib\Newtonsoft.Json.Net35.dll.
Copying obj\Debug\CSAutoParameterize\transformed\Web.config to obj\Debug\Package\PackageTmp\Web.config.
Publish Pipeline Deploy phase Pre-Deploy CopyAllFilesToOneFolder Stage
Generate source manifest file for Web Deploy package/publish ...
Creating directory "obj\Debug\Database".
Starting Web deployment task from source:manifest(C:\SVN\TrakNet\trunk\MTS\obj\Debug\Package\LMS.SourceManifest.xml) to Destination:auto().
Updating filePath (default web site/LMS\bin\ELMS.dll).
Updating filePath (default web site/LMS\bin\ELMS.pdb).
Updating filePath (default web site/LMS\bin\lib\Newtonsoft.Json.Net35.dll).
Updating filePath (default web site/LMS\lib\Newtonsoft.Json.Net35.dll).
Updating filePath (default web site/LMS\Web.config).
Updating setAcl (default web site/LMS).
Updating setAcl (default web site/LMS).
Successfully executed Web deployment task.
Publish is successfully deployed.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
Как я уже сказал: понятия не имею, что изменилось. Я вручную перемещал библиотеки DLL в виртуальный каталог веб-сайта, а затем только для ударов, которые я пытался опубликовать сегодня утром, и все получилось прекрасно.
Ответы
Ответ 1
По моему опыту это может произойти, когда файлы добавляются/удаляются из разных ветвей вашего исходного элемента управления, а несовершенное слияние заставляет структуру файла проекта и фактическую структуру файла расходиться.
Это может быть один из нескольких вариантов:
- Файл был удален, но проект все еще ссылается на него. Не удалось скомпилировать, не опубликует.
- Файл был добавлен, но проект не ссылается. Может компилироваться, зависит от того, ссылаются ли на класс/методы в другом месте проекта/решения. Если компилирует, опубликует.
- Файл был добавлен, но слияние проекта вызвало его появление более одного раза в списке проектов. Скомпилирует, не опубликует.
Решение состоит в том, чтобы просмотреть журналы управления источником и попытаться определить плохое слияние с файлом проекта для вышеуказанных проблем, а затем соответствующим образом зафиксировать файл проекта.
Ответ 2
Я также столкнулся с такой же проблемой, я просто удалил желтый отмеченный файл из проекта Visual Studio project, и это сработало для меня.
Ответ 3
Исключите папку bin (и/или) obj из проекта и опубликуйте. Это сработало для меня
Ответ 4
Я недавно опубликовал эту проблему для Azure. В итоге я удалил все файлы в папке bin (удалил все файлы ВИН ВИНОСТРОИТЕЛЬНО-ПРОГРАММНОГО ПРОИЗВОДИТЕЛЯ в папку bin, но оставил папку bin пустой) и перестроил проект. Это, казалось, сделало визуальную студию счастливой и лазурной публикацией. надеюсь, что это поможет
Ответ 5
Это сработало для меня: вручную удалите папку obj, перестройте, а затем опубликуйте. Так или иначе, какое-то разрешение в папке obj застряло, а удаление/воссоздание папки очистило ошибку.
Ответ 6
Я удалил папку bin и obj, а также содержимое файла inetpub/wwwroot/myapp и проблемы
Ответ 7
ничего не работает для меня.
удаление имени пользователя obj и bin-clean-change webservice name-shorten webservice.
Но вообще,
+ Разверните свой Reference.svcmap из визуальной студии.
+ Обновить ссылку.
+ И удалите желтые источники данных предупреждения.
работает для меня
Ответ 8
открыть файл projectname.csproj в блокноте и удалить obj\debug\project name.csprojResolveAsseblyReference.cache line
Ответ 9
Недавно я столкнулся с той же проблемой.
И я на самом деле отслеживал его, ища файл, который отсутствовал.
Причина ошибки: в visual studio я включил файл, а затем удалил его из файловой системы (но не из visual studio). У VS все еще была ссылка на этот файл. Поэтому, как только я удалил ссылку из VS, я смог успешно опубликовать ее!
Ответ 10
У меня возникла аналогичная проблема, когда я вручную скопировал папку в проект (в моем случае ckeditor). Он прекрасно строился и работал без проблем. Однако при публикации папки было проигнорировано. Оказывается, мне пришлось создать пустую папку 1st, а затем скопировать содержимое папки. Visual Studio должен знать, что элемент был создан, он появляется, потому что после этого он был распознан при публикации.
Ответ 11
Эта проблема может возникнуть из-за перехода проекта из одного решения в другое или перехода к другому источнику управления.
Простой способ решить эту проблему:
Ответ 12
Причиной этого является передача вашего проекта из другой среды.
Чтобы решить эту проблему, удалите папку "obj" из каталога проекта, а также из браузера решений, щелкнув правой кнопкой мыши по папке "obj".
После этого создайте свой проект и опубликуйте его. Он будет работать нормально.
Ответ 13
Я решил это, удалив файл "packages.config" из моего проекта, который был отмечен как отсутствующий. После этого публикация отлично работала.
Ответ 14
Мне пришлось вручную копировать и вставлять недостающие файлы, которые VS запрашивал в папке BIN..pbd,.xml Иногда они не копируются.
Ответ 15
Просто переименуйте папку Packages Nugets. Visual Studio автоматически получит необходимые пакеты, и сборка будет успешной, и публикация тоже будет работать.
Ответ 16
В случае, если это кому-нибудь поможет, для моего проекта MVC в VS 2015 это был следующий файл: Файл System.pubxml.user В каталоге профиля публикации, в том числе это вызвало ошибки компиляции, но удаление его позволило его опубликовать!
Ответ 17
Мне пришлось удалить профиль публикации, зафиксировать, а затем заново создать профиль публикации с нуля.
Ответ 18
Я удалил все существующие профили публикации в Visual Studio → Обозреватель решений → Мой проектный узел → Свойства → Опубликовать профили. То же самое можно сделать, щелкнув правой кнопкой мыши Проект в Обозревателе решений → Опубликовать → вкладка Профиль → Управление профилями - > Удалить все профили Теперь загрузите соответствующий профиль из Azure или выберите из своего каталога, если он уже сохранен на вашем компьютере, и выберите его. Затем очистите и перестройте проект. Убедитесь, что вы выбрали проект, созданный в режиме Release, и также выбрали "Release" Publish → Settings → Configuration Now Publish, это сработало для меня.
Ответ 19
Я также столкнулся с этой проблемой, когда я публиковал свой сайт, в моем случае ссылка была добавлена, но в папке bin ее там не было, поэтому, пожалуйста, установите снова, какая ссылка отсутствует на выходе. Я надеюсь, что это поможет