Ошибка MC4108 на сервере сборки, но не в Visual Studio - PullRequest
0 голосов
/ 11 мая 2011

В духе найденного решения следует поделиться, я получаю следующую ошибку при построении проекта WPF с использованием TFS. Проект будет прекрасно работать на локальной машине разработчика, а также на сервере сборки с использованием VS или msbuild, но не тогда, когда он был собран с помощью TFS.

ошибка MC4108: корень шаблона раздел содержимого не может содержать элемент типа '{0}'. Только FrameworkElement и Типы FrameworkContentElement действительный.

Указывает на пользовательский элемент управления, содержащийся в шаблоне данных:

<Window.Resources>
    <DataTemplate x:Key="TabItemTemplate">
        <d:ConnectionControl />
    </DataTemplate>
</Window.Resources>

Ответы [ 2 ]

1 голос
/ 11 мая 2011

Обходной путь, который я нашел, заключался в переносе пользовательского элемента управления в сетке:

<Window.Resources>
    <DataTemplate x:Key="TabItemTemplate">
        <Grid>
            <d:ConnectionControl />
        </Grid>
    </DataTemplate>
</Window.Resources>

Полагаю, это неплохой обходной путь, но разметка в вопросе должна сработать.

0 голосов
/ 14 мая 2011

Не должно быть никакой разницы с точки зрения ошибок сборки между сборкой через TFS Build и сборкой локально, потому что обе используют MSBuild. Пожалуйста, убедитесь, что несколько вещей:

  1. Когда вы пытались собрать локально или на сборочной машине, вы использовали точную команду MSBuild из журнала сборки TFS?
  2. Подходят ли версии MSBuild для той, которая используется в TFS Build, и той, что вы использовали?

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...