Создание файлов .sln / vcproj - PullRequest
2 голосов
/ 18 марта 2011

Я хотел бы написать программу или скрипт, который генерировал бы файлы .vcproj и .sln для меня. В настоящее время у меня есть много настроек / конфигураций, которые мне нужно установить для каждого .vcproj, который я создаю, и я видел людей, которые могут как-то сгенерировать эти файлы, хотя я не могу найти хороший ресурс через msdn или bing для этого. Может ли кто-нибудь опубликовать ссылку на ресурс или, возможно, руководство о том, как этого добиться?

Ответы [ 4 ]

3 голосов
/ 18 марта 2011

Вы можете генерировать .sln / .vcproj с объектной моделью MSVS.Это может быть макрос или надстройка.Этот пример является макросом для генерации .sln / .vcproj.

Sub SlnVcprojGenerator()
    Dim sln As Solution
    Dim prj As Project
    sln = DTE.Solution
    sln.Create("C:\test", "new_sln.sln")
    prj = sln.AddFromTemplate("C:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCWizards\default.vcproj", "c:\test", "new_prj", True)
    sln.SaveAs("C:\test\new_sln.sln")
End Sub
2 голосов
/ 18 марта 2011

Из того, что я видел / использовал, CMake очень полезен для генерации файлов проекта / решения.

1 голос
/ 18 марта 2011

Почему вы не создаете шаблоны проектов или элементов?http://msdn.microsoft.com/en-us/magazine/cc188697.aspx

Вы даже можете экспортировать шаблон из заданного проекта, как описано здесь: http://msdn.microsoft.com/en-us/library/xkh1wxd8%28v=VS.100%29.aspx. Хотя эта опция на самом деле еще не доступна для VC ++ в VS, есть дополнение,созданный Visual Studio Platform Team, доступен в галерее Visual Studio http://visualstudiogallery.msdn.microsoft.com/57320b20-34a2-42e4-b97e-e615c71aca24/.. Включает те же функции для VC ++.

1 голос
/ 18 марта 2011

Мы создаем файлы csproj из скрипта, но мы сделали это, просто проверив xml и скопировав.Мы получаем предупреждения каждый раз, когда открываем созданные вручную файлы проекта.Мы можем обойти это, добавив записи в запись реестра где-то.

Я полагаю, что при достаточном количестве работы вы сможете имитировать любую часть csproj / vcproj, которая делает его "официальным".

...