Ошибка при преобразовании web.config для разных сред
Я пытался развернуть свое приложение в разных средах, после чего я начал следовать этому:
Развертывание веб-приложения ASP.NET поставщику хостинга с использованием Visual Studio или Visual Web Developer: Преобразование файлов Web.Config - 3 из 12
был идеален, пока я не нажал кнопку Preview Transform, я получил эту ошибку:
Microsoft Visual Studio
Не удалось загрузить файл или сборку "Microsoft.Web.XmlTransform, Version = 1.2.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" или одна из его зависимостей. Система не может найти указанный файл.
(я создал только одно преобразование Web.DebugQA.config и, конечно, по умолчанию, отладка и выпуск)
my Web.DebugQA.config выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
<system.web>
</system.web>
<appSettings>
<add key="EnvironmentName" value="QADev" xdt:Transform="SetAttributes(value)"
xdt:Locator="Match(key)" />
</appSettings>
</configuration>
но затем я устанавливаю этот плагин:
SlowCheetah - XML Transforms
и я решил ошибку преобразования предварительного просмотра, но затем, когда я пытался опубликовать с использованием преобразования QADev, я получил эту ошибку:
Не удалось выполнить задачу "ImportParametersFile".
System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "Microsoft.Web.XmlTransform, Version = 1.2.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" или одна из его зависимостей. Система не может найти указанный файл. Имя файла: "Microsoft.Web.XmlTransform, Version = 1.2.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a"
в Microsoft.Web.Publishing.Tasks.ImportParametersFile.Execute()
в Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
в Microsoft.Build.BackEnd.TaskBuilder. <ExecuteInstantiatedTask> d__20.MoveNext()
WRN: Регистрация привязки сборки отключена.
Чтобы включить ведение журнала сбоев сборки, установите значение реестра [HKLM\Software\Microsoft\Fusion!EnableLog]
(DWORD) равным 1.
Примечание. Существует некоторое ограничение производительности, связанное с регистрацией сбоя привязки сборок.
Чтобы отключить эту функцию, удалите значение реестра [HKLM\Software\Microsoft\Fusion!EnableLog]
.
Я использую Visual Studio Pro 2012.
Ответы
Ответ 1
Я исправил это, восстановив "Microsoft ASP.NET и Web Tools 2013.1 - Visual Studio 2012" с панели управления → Программы и функции.
Файл Microsoft.Web.XmlTransform.dll отсутствовал на пути C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web.
Ответ 2
У меня была аналогичная ошибка, хотя она была вызвана по разным причинам.
Я решил, что он копировал следующую DLL с другого ПК с установленным VS2012:
Microsoft.Web.XmlTransforms.dll
from: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web
Я надеюсь, что это поможет
Ответ 3
У меня была та же проблема в VS2012, не могла "Preview Transform" для транков PublishPackage, например. Web.Staging.config жалуется на Microsoft.Web.XmlTransform
Я получил его, добавив пакет https://nuget.org/packages/Microsoft.Web.Xdt в мой проект Mvc 4.5. Этот пакет все еще находится в предварительном выпуске.
PM> Install-Package Microsoft.Web.Xdt -Pre
Этот пакет содержит файл Microsoft.Web.XmlTransform.dll
Я все еще получаю сообщение об ошибке при создании жалоб на "Не удалось загрузить файл или сборку Microsoft.Web.XmlTransform". Проект Mvc по-прежнему построен нормально.
Я попытался добавить файл Microsoft.Web.XmlTransform.dll в Gac, используя gacutil, но это не устранило проблему.
Однако я использую сервер сборки Team Foundation Service, и он работает и создает правильный Web.config после применения Web.Release.config, а затем Web.Staging.config.
Ответ 4
Я попытался сделать две вещи, но это не сработало для меня.
1) копирование DLL Microsoft.Web.XmlTransforms.dll в папку C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web
2) И восстановление "Microsoft ASP.NET и веб-инструментов 2013.1 - Visual Studio 2012"
Затем я удалил утилиту microsoft Azure V2.6 с панели управления → Программы и функции. и теперь я могу опубликовать свой сайт.
Ответ 5
Возможно, это было исправлено в Visual Studio 2012 Update 2 (и Visual Studio 2013).
Web.config "Preview Transform" дает сообщение об ошибке
...
Отправлено Microsoft на 3/1/2013 в 14:46
Спасибо за сообщение об этой проблеме! Он будет исправлен в Visual Studio 2012 Update 2. Пожалуйста, установите его, когда он станет доступен.