2010-06-02 4 views
22

Я потратил много времени, пытаясь понять, почему мой проект строится с настройкой по умолчанию (пустой) на TFS2010, но говорит мне, что нет пути вывода, если я установил его на что-либо ,«AnyCPU» vs «Any CPU» в TFS 2010

В конце концов, я понял, что в файле .csproj конфигурация написана как AnyCPU, тогда как для TFS предлагаемое раскрывающееся значение равно Any CPU (обратите внимание на пробел).

Я удалил пространство в конфигурации TFS, и оно сработало.

Проект был преобразован из версии VS2008. MS изменила имя конфигурации для версии VS2010? Может ли кто-нибудь сказать мне, что происходит?

+0

Эта проблема имеет большое влияние на TFS Build. Подробнее здесь: http://stackoverflow.com/questions/3156278/need-some-help-with-tfs2010-an-automated-build-configurations-to-build-de/7840115#7840115. – Manders

ответ

4

Я не уверен, что это был каждый «AnyCPU» (без пробела), но целевое имя по умолчанию - «Любой процессор» с пробелом. Однако я должен указать, что эти имена являются произвольными строками, и вы можете настроить их так, как вам нравится, если они будут согласованы.

18

Это, похоже, известная ошибка в VS2010.
Для получения более подробной информации см. http://connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project.

То, что я нашел:

Все файлы проекта в растворе имеют платформу, чтобы установить «AnyCPU», даже если вы выбрали «Any CPU» в окне конфигурации. Поэтому, если вы создадите это решение в VS, все будет хорошо. Когда вы пытаетесь построить с использованием платформы TFS «Любой процессор», решения работают нормально, но проекты должны быть установлены (в задаче msbuild) для использования/p: AnyCPU.

+0

Это, похоже, работало для меня и в VS2008. – Liron

+1

У меня была такая же проблема с TeamCity, но переименование для удаления пространства разрешило это. Я уверен, что большинство серверов сборки столкнутся с этой проблемой, к сожалению. – Bobson

+0

https://connect.microsoft.com/VisualStudio/feedback/details/932918/solution-and-project-have-different-values-for-any-cpu# –

8

(Четыреста лет спустя ..)

Эта ошибка, кажется, жива и здорова в Visual Studio 2012, а также.

Сегодня я не смог развернуть новую версию проекта моих сервисов, поскольку VS2012 продолжал говорить мне, что я не указал OutputPath ... но у меня был, и он мог видеть его в моем проекте Окно свойств.

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

Но, нет. Это не так.

Ouch

Мой конфиг был на самом деле называется «Release (PreProd)» (без speechmarks), но VS кажется, разработали заикаться при попытке поставить это имя в путь.

Перезагрузка Visual Studio 2012 не имела никакого эффекта, и (после Googling для решения) я проверил, что у меня не было переменной среды «Платформа» на моей машине, что могло бы испортить компиляторы.

Нелепое решение заключалось в том, чтобы открыть файл решения (.sln) в текстовом редакторе, а затем выполнить поиск с «Любой процессор» до «AnyCPU».

Очевидно, действительно ...!

января 2015

Просто добавить, эта ошибка все еще жив и здоров.

Самое простое исправление на самом деле переименовать конфигурации, так как они не содержат пробелов или speechmarks (то есть имен по умолчанию !!)

Таким образом, путем переименования конфигурации из Release (Prod) в ReleaseProd, то ошибка уходит.

+4

Еще жив в Visual Studio 2013 :( –

+2

июль 2016 все еще жив в VS2015: D – Lanka

+0

[уход] (http://www.google.com/search?q=all+i+wanna+say+is+that+they+dont+really+care+about+us) – zahir

Смежные вопросы