Выходной каталог при создании проекта WCF в Visual Studio - PullRequest
6 голосов
/ 13 января 2011

У меня есть решение Visual Studio 2010, которое настроено на отладку x86.Поэтому Visual Studio устанавливает выходной путь \ bin \ x86 \ Debug, что кажется достаточно логичным.

Решение содержит около 50 проектов;стартовый проект - это проект WCF.

Когда я делаю сборку, я ожидаю, что все выходные dll перейдут в \ bin \ x86 \ Debug, как это установлено в настройках проекта.Но странно, я вижу, что dll создаются в bin \ x86 \ Debug и в \ bin.Зачем Visual Studio помещать какие-либо dll в \ bin, если путь вывода не установлен для этого каталога?Кажется, что все dll идут в \ bin \ x86 \ Debug, а все dll , за исключением запускаемого проекта , идут в \ bin.Есть идеи, почему это так?(У нас есть другие решения, которые не используют WCF, и у них нет этой проблемы.)

Другая неприятность заключается в том, что я запускаю службу из Visual Studio и затем пытаюсь получить доступ к моей службе в Интернете.в браузере, перейдя на http://localhost:1240/MyService.svc,, он не работает, потому что в / bin отсутствует стартовый проект dll.Поэтому мне нужно вручную скопировать эту одну DLL из \ bin \ x86 \ Debug в \ bin, чтобы все dll были найдены и служба работала нормально.(Конечно, мы могли бы добавить пользовательский шаг после сборки, который выполняет копирование, но вы могли бы подумать, что будет лучший способ!)

Для тех из вас, кто работает над проектами WCF, вы оставляетевыходной путь в \ bin \ x86 \ Debug?(Возможно, есть способ настроить службу, например, в файле web.config или .svc, чтобы он знал, что двоичные файлы находятся в \ bin \ x86 \ Debug вместо \ bin?) Или вы измените путь вывода на\ bin, чтобы вы могли запустить свой сервис прямо из Visual Studio?

Ответы [ 2 ]

8 голосов
/ 13 января 2011

Если вы откроете страницу свойств вашего проекта WCF Hosting и перейдете на вкладку Build, в разделе «Вывод» этого тега будет текстовое поле, содержащее расположение выходных двоичных файлов.

Для проекта WCF двоичные файлы должны идти в каталог bin независимо от типа сборки (например, Debug, Release).Убедитесь, что это значение настроено правильно.

Значение необходимо настроить для каждого типа сборки \ конфигурации.

0 голосов
/ 26 октября 2012

Если по какой-либо причине вам нужны разные выходные данные из разных конфигураций сборки в разных папках, вы можете указать их, как вы делали в первую очередь, и использовать командную строку события после сборки, которая копирует из указанной выходной папки в bin.Нравится:

    - untested code -  
    COPY/Y "$(OutDir)\*.*" "$(SolutionDir)$(ProjectName)\bin\"  
    - untested code -  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...