Ответ 1
По-видимому, иногда эту ошибку можно избежать простым повторным добавлением ссылки. Вы пробовали это?
Я работаю над приложением Windows (C#
), которое было создано в формах окон VS 2012 (Framework 4.5
). Требования требуют, чтобы он использовался для более старых версий окон, поэтому я устанавливаю целевую структуру для .NET Framework 4
и целевой платформы платформы x86
. После его выполнения и попытки выполнить компиляцию я получаю следующую ошибку:
Ошибка пользовательского инструмента: Не удалось создать файл. Ссылка на службу недействительна для текущей версии или типа проекта .NET Framework. Вы можете изменить конфигурацию справочной службы в .svcmap
Я попытался снять флажок "Reuse types in referenced assemblies
" в ссылках на службы, прежде чем переходить на фреймворк 4, но не повезло.
По-видимому, иногда эту ошибку можно избежать простым повторным добавлением ссылки. Вы пробовали это?
Вместо повторного добавления ссылки вы также можете удалить код, который не понимается .NET 4.0 из файла Service References\<reference name>\Reference.svcmap
. Обратите внимание, что вам нужно будет перейти к этому файлу через проводник, он не отображается в Visual Studio. Для моих ссылок я просто удалил эту строку
<GenerateTaskBasedAsynchronousMethod>true</GenerateTaskBasedAsynchronousMethod>
Затем щелкните правой кнопкой мыши ссылку на службу в VS2013 и нажмите ссылку "Обновить службу". Он будет повторно проверять службу и сгенерировать файл Reference.cs, чтобы он был совместим с .NET 4.0.