Модифицировать программно csproj файлы

У меня есть исходный код Entlib 5.0, и мне нужно подписать все сборки с помощью моего собственного ключа (файл snk).

Самый простой способ - открыть файл решения EnterpriseLibrary.2010 в Visual Studio 2010 , а затем для каждого проекта выберите Свойства-> Подпись и выберите Подпишите сборку и выберите файл ключа.

Но я не хочу делать это вручную, тогда я мог бы написать скрипт для ручного редактирования файлов проекта и вставить следующее в конец текущего списка PropertyGroups:

  <PropertyGroup>
    <SignAssembly>true</SignAssembly>
  </PropertyGroup>
  <PropertyGroup>
    <AssemblyOriginatorKeyFile>keyFile.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>

Какой-нибудь вспомогательный класс в C # или сценарии, если было бы лучше сделать это простым и быстрым способом?

7 голосов | спросил Kiquenet 25 +04002011-10-25T13:55:12+04:00312011bEurope/MoscowTue, 25 Oct 2011 13:55:12 +0400 2011, 13:55:12

1 ответ


0

Вы можете взглянуть на пространство имен Microsoft.Build.BuildEngine Ссылка MSDN

Пример кода:

Engine eng = new Engine()
Project proj = new Project(eng);
proj.Load(FullProjectPath);
proj.SetProperty("SignAssembly", "true");
proj.Save(FullProjectPath);

Недавно я использовал нечто подобное, чтобы внести серию изменений во все файлы .csproj моей компании (более 200) вместо того, чтобы вручную открывать каждый проект и вносить изменения.

Надеюсь, это поможет.

ответил Tyson Moncrief 13 TueEurope/Moscow2011-12-13T20:26:21+04:00Europe/Moscow12bEurope/MoscowTue, 13 Dec 2011 20:26:21 +0400 2011, 20:26:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132