Можно ли изменить переменные в проекте установки Visual Studio на основе ссылочной библиотеки DLL? - PullRequest
0 голосов
/ 04 августа 2009

Я не хочу заменять каждый файл, когда меняю информацию о продукте, такую ​​как версия, название продукта и имя автора. Проект установки Visual Studio имеет постоянные переменные, такие как TARGETDIR , SystemFolder и т. Д.

Можно ли изменить свойства проекта установки на основе указанной библиотеки DLL?

PS. Может ли WiX сделать это?

Ответы [ 2 ]

0 голосов
/ 23 октября 2009

Visual Studio работает без шаблонов, поэтому я думаю, что вы можете говорить об обновлении шаблонов по умолчанию. Если так, то они расположены здесь:

C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ General \ 1033 \ AssemblyInfo.zip

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

0 голосов
/ 04 августа 2009

Я не уверен, что правильно понял ваш вопрос. Вы имели в виду, что хотите легко изменить метаданные проекта (dll)?

Если вы это имеете в виду, то вы можете просто изменить или установить свойства в файле AssemblyInfo.cs, который изначально находится в папке «Свойства» проекта. Пример использования:

[assembly: AssemblyVersion("1.0.0.342")]

Кроме того, если у вас много проектов в одном решении, вы можете определить информацию о версии в одном файле build.cs и одном файле config.cs следующим образом.

В файл .csproj каждого проекта добавьте (например)

<Compile Include="..\Configuration\build.cs">
  <Link>Configuration\build.cs</Link>
</Compile>
<Compile Include="..\Configuration\config.cs">
  <Link>Configuration\config.cs</Link>
</Compile>

В общий каталог конфигурации добавьте файл config.cs. Внутри вы должны написать, например:


class ReferenceInfo
{
  internal const string Version = "1.0.0.342"";
  internal const string AssemblyVersion = "1.0.0.342"";
}

В той же директории добавьте файл build.cs и внутри вы можете написать, например:


[assembly: AssemblyProduct("My Product")]

[assembly: AssemblyFileVersion(ReferenceInfo.Version)]
[assembly: AssemblyVersion(ReferenceInfo.AssemblyVersion)]

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

...