Вот код, который должен работать как на Python 2.x, так и на 3.x
. Очевидно, вам понадобится модуль six
, но практически невозможно писать модули, работающие в обеих версиях без шесть.
try:
import configparser
except:
from six.moves import configparser
Я посмотрел бы на использование msbuild. Это создало в задачи для обработки clickonce развертывание. Я включал некоторые ссылки, которые помогут Вам начать, если Вы захотите спуститься по этому пути. Это - то, что я использую, и я нашел, что это соответствует моим потребностям. С хорошим процессом сборки с помощью msbuild, необходимо быть в состоянии выполнить сплющивание болей, которые Вы чувствовали.
Вот подробное сообщение о том, как ClickOnce проявляют работы поколения с MsBuild.
Я использовал nAnt для выполнения полной стратегии сборки, но параметров передачи в MSBuild, чтобы скомпилировать и создать пакет развертывания.
В основном, nAnt призывает в MSBuild к каждой среде, которую Вы должны развернуть на и генерируете отдельный вывод развертывания для каждого. Вы заканчиваете с папкой и всеми файлами ClickOnce, в которых Вы нуждаетесь для каждой среды, которую можно просто скопировать к серверу.
Это - то, как мы обработали несколько продуктивных сред также - у нас были отдельные экземпляры нашего приложения для США, Канады и Европы, таким образом, каждая сборка закончит тем, что создала девять развертывания, три каждый для dev, обеспечения качества и напоминания.