2016-08-16 7 views
0

У меня есть проект, который использует службу блога. В этой службе есть объект, который имеет тип System.Runtime.Serialization.IExtensibleDataObject.Gated checkin не будет строить

Все это нормально, и я могу создать свой проект локально и опубликовать его (и оба работают при работе под IIS), но когда я регистрируюсь, сборка на закрытой проверке завершается с ошибкой (см. Ошибку ниже), и я не могу проверить в коде.

ошибка CS0012: Тип «System.Runtime.Serialization.IExtensibleDataObject» определяется в сборке, которая не ссылается. Вы должны добавить ссылку на сборки «System.Runtime.Serialization, Version = 4.0.0.0, культура = нейтральной, PublicKeyToken = b77a5c561934e089»

Эта библиотека упоминается в моем DAL проекте, который ссылается мой сайт проекта.

В моем проекте используется .net 4.6.1, и я проверяю, что это было установлено на сервере сборки. Я также проверил, что расположение DLL-файла такое же (C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Serialization.dll - он находится на сервере сборки и где он должен быть.

Я также попытался добавить ссылку на проект веб-сайта, но это не помогло. не уверен, что будет причиной этого, и я в недоумении относительно того, как ее решить.

Любая помощь будет признателен, если кто-то испытал ничего подобного

Если это имеет значение, я бегу на месте на Windows 10, но сервер сборки - это сервер Windows 2012 (хотя мой опубликованный сайт также работает на сервере Windows 2012)

+0

Столкнулись сборки в расширенном режиме и проверил выход для ключей? – stuartd

+0

Поскольку это сборка tfs, не уверен, как установить многословие на нем, из сообщений, которые я видел, на вкладке процесса должен быть установлен диагноз, но вкладка процесса выглядит иначе, чем показанные. – Pete

+0

Это может помочь - «Чтобы изменить многословие для сборки TFS 2013 из определения сборки, передайте параметр:'/flp: verbosity = "" в разделе аргументов MSBuild на вкладке «Процесс» в определении сборки ». - [источник] (https://blogs.msdn.microsoft.com/tfssetup/2014/10/23/set-ms-build-output-verbosity-from-build-definition-for-tfs-2013/) – stuartd

ответ

0

Хорошо, чтобы решить эту проблему, мне пришлось добавить ссылку на System.Runtime.Serialization во все проекты, которые ссылались на проект DAL и использовались проектом веб-сайта.

Просто кажется глупым, что он будет строить на месте, а не на сервере сборки

0

Попробуйте решение in this post:

Добавить System.Runtime.Serialization в основной файл.

+0

Нет что вы подразумеваете под «основным файлом». Кроме того, если вы просто копируете ответ из другого вопроса, вы должны проголосовать, чтобы закрыть вопрос как дубликат, а не просто вставить тот же ответ – Pete