Arhn - архитектура программирования

Преобразование файла конфигурации проектов Silverlight на сервере CI

Я застрял с преобразованием файлов конфигурации в проекте Silverlight (т.е. файл ServiceReferences.ClientConfig). Я следил за некоторыми источниками (например, этот источник) о том, как вручную отредактируйте файл .csproj, чтобы добавить файл преобразования, но я не могу заставить его работать на нашем CI-сервере.

Изменения в файле .csproj:

<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
<Target Name="BeforeBuild" Condition="exists('ServiceReferences.$(Configuration).ClientConfig')">
<TransformXml Source="ServiceReferences.ClientConfig" Destination="$(TargetDir)\ServiceReferences.ClientConfig" Transform="ServiceReferences.$(Configuration).ClientConfig" />
<ItemGroup>
  <Content Remove="ServiceReferences.ClientConfig" />
  <ContentWithTargetPath Include="$(TargetDir)\ServiceReferences.ClientConfig">
    <TargetPath>ServiceReferences.ClientConfig</TargetPath>
  </ContentWithTargetPath>
</ItemGroup>
</Target>
<Target Name="AfterBuild" />

Преобразование моих файлов конфигурации работает нормально, если я собираю свой проект Silverlight в VS2010 на своем локальном клиенте. Я могу открыть сгенерированный XAP-файл и посмотреть на ServiceReferences.ClientConfig и увидеть, что он преобразован. Следовательно, я исключаю файл(ы) преобразования как проблему.

Но когда я создаю свой проект Silverlight на нашем CI-сервере, ServiceReferences.ClientConfig остается непреобразованным в сгенерированном XAP-файле на CI-сервере.

Что касается определения сборки, я в порядке, насколько я вижу. DeployConfiguration в разделе Processes установлена ​​допустимая конфигурация. (Если я изменю имя конфигурации в этой записи на что-то недействительное - CI-сервер будет жаловаться. Так работает пока...) Transform Configuration Files в этом же разделе установлено значение true.

Любые идеи были бы хорошы!


Ответы:


1

Сам обнаружил проблему - проблема в том, что я тупой.

По сути, имя Active Solution Configuration в решении было правильным, то есть ProductionTest. Файл преобразования имел имя ServiceReferences.ProductionTest.ClientConfig. Все идет нормально. Однако имя Конфигурации проекта для проекта Silverlight было Release. Итак, TransformXML попытался использовать (не существующий) файл преобразования ServiceReferences.Release.ClientConfig. Поскольку наличие правильного файла конфигурации было условием для BeforeBuild, TransformXML никогда не выполнялся бы, и у меня не было бы никаких сообщений об ошибках.

Изменение конфигурации проекта на ProductionTest решило все.

30.04.2013
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..