Как построить решение C # для разных фреймворков? - PullRequest
2 голосов
/ 25 декабря 2010

Какой выбор у меня есть для создания решения VS2008 для разных целевых сред всего одним щелчком мыши?Мне нужно собрать для .net-2.0 и netcf-2.0.Проблема в том, что мне нужно ссылаться на разные библиотеки для netcf-2.0.

Я пытался сделать это с помощью nant, но это кажется сложной задачей.

Ответы [ 3 ]

0 голосов
/ 26 декабря 2010

Вы пытались создать отдельные конфигурации сборки для каждой целевой платформы?

Например, скопируйте конфигурацию Debug и измените ее в соответствии с условиями соответствия и назовите ее как FrameWork_2_0 и т. Д. *

И теперь вы можете просто вызвать задачу MSBuild / NAnt для своего решения.один раз для каждой конфигурации

0 голосов
/ 26 декабря 2010

Я не использую разные конфигурации сборки.

Когда я сделал это, я создал отдельный проект для версии CF. Внутри версии CF группа свойств Compile использует ссылки на все исходные файлы.

CF и библиотеки полного каркаса охватываются независимыми проектами. Каждый проект может иметь независимый набор задач после сборки или предварительной сборки, независимый набор ссылок, отдельный набор # определенных символов и т. Д.

В моем случае не весь код, используемый в полной версии библиотеки, компилируется для CF-версии. Используя частичные классы, я делю код, используемый только для полнофункциональной версии, на отдельные модули и не добавляю ссылки на эти исходные файлы в проект CF.

Вы можете сделать эквивалент, используя операторы #if и определив символ CF (или аналогичный) в файле .csproj для проекта CF.

0 голосов
/ 25 декабря 2010

Храните разные проекты в одном решении с одним и тем же списком файлов, предназначенных для разных версий платформы.

Или группируйте проекты / решения по версии платформы.

...