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

Ошибка при преобразовании 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.

4b9b3361

Ответ 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. Пожалуйста, установите его, когда он станет доступен.