Переименовать исполняемый файл .NET 2.0 - PullRequest
4 голосов
/ 04 марта 2011

Кто-нибудь знает какие-либо ошибки при изменении имени исполняемого файла C # .NET 2.0 в событии после сборки, учитывая, что исполняемый файл имеет строгое имя и имеет встроенный манифест?Кроме того, исполняемый файл будет подписан третьей стороной перед упаковкой в ​​установщик.

Я знаю, что любые связанные файлы .config также необходимо переименовать, чтобы отразить новое имя исполняемого файла.

AmЯ также прав, предполагая, что лучшим решением является изменение имени сборки в свойствах проекта, а не переименование имени исполняемого файла?Проблема в том, что Visual Studio не очень подходит для имен условных сборок.(т.е. добавление атрибута условия к тегу в .csproj)

Ответы [ 2 ]

2 голосов
/ 05 марта 2011

VS загружает проект один раз, а затем сохраняет его в памяти. Если вы хотите построить две сборки из VS, вы можете добавить цель AfterBuild и вызвать MSBuild для сборки сборки снова, но с другими параметрами:

<ProperttyGroup Condition="'$(BuildAgain)'==''">
     <!-- Default parameters to VS -->
     <AssemblyName>Name1,Default</AssemblyName>   
<ProperttyGroup>

<ProperttyGroup Condition="'$(BuildAgain)'=='true'">
     <!-- Overrided parameters -->
     <AssemblyName>Name2.Custom</AssemblyName>   
<ProperttyGroup>

<Target Name="AfterBuild"
        Condition="'$(BuildAgain)'==''">
     <MSBuild Projects="$(MSBuildProjectFullPath)"
              Properties="BuildAgain=true;Configuration=$(Configuration);Platform=$(Platform)"
              Targets="Rebuild" 
</Target>
1 голос
/ 05 марта 2011

Сильное присвоение имени exe не приносит никакой пользы. Преимущество сильного наименования dll заключается в том, что кто-то не может заменить его собственной версией вредоносной (и вы можете поместить ее в GAC). Если вы не ссылаетесь на свой exe-файл в другом проекте, как если бы он был dll (что было бы странно), вам не нужно строго называть его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...