Як змінити ім’я виводу виконуваного файлу, створеного Visual Studio


80

Я хочу змінити ім'я виконуваного файлу. Припустимо, припустимо, що назва мого проекту "SampleDemo". Він створить виконуваний файл, як "SampleDemo.exe", але я хочу перейменувати його на "Demo.exe"



1
@skrrgwasme - Не зовсім, Кіран запитує, як змінити назву результату проекту VS.
4444

2
Якщо, як і я, ви хотіли змінити ім'я вихідного файлу, не змінюючи ім'я збірки, див. Stackoverflow.com/a/44188341 .
jnm2

Відповіді:


126
  1. Відкрийте Властивості проекту у Visual Studio (клацніть правою кнопкою миші на проекті в Провіднику рішень і виберіть "Властивості" зі спливаючого меню)
  2. На вкладці "Застосування" вікна властивостей змініть "Назва збірки"

@KiranDesai Я думаю, ви редагуєте файл AssemblyInfo.cs. Натомість вам потрібно відредагувати властивості проекту. Я пояснив це у своїй відповіді.
Росс Макнаб,

Дякуємо за роз'яснення, ваше рішення працює належним чином.
Кіран Десай,

1
Чи можу я змінити ім'я файлу Exe на основі аргументів командного рядка під час подій перед збіркою або після збірки?
Pabitra Dash

1
Якщо, як і я, ви хотіли змінити ім'я вихідного файлу, не змінюючи ім'я збірки, див. Stackoverflow.com/a/44188341 .
jnm2

24

Якщо, як і я, ви хотіли змінити ім'я вихідного файлу, не змінюючи ім'я збірки, помістіть це як в основному файлі .csproj <PropertyGroup>:

    <TargetName>Desired output name without extension</TargetName>

3
це спрацювало як шарм. Окрім того, що зараз процес налагодження вже не може знайти виконуваний файл.
Борис Калленс,

@BorisCallens Так, з новою налагодженням csproj відмінно працює, якщо ви націлюєтесь на .NET Framework і не працює, якщо ви націлюєтесь на .NET Core. Думаю, нам потрібно підняти проблему. Зі старим csproj (який є лише .NET Framework) він також не працює. Який тип csproj ви використовуєте?
jnm2

Випуск для нового csproj та .NET Core: github.com/dotnet/project-system/issues/2556
jnm2

Старий csproj, .net 4.6.1. Перевірить проблему.
Борис Калленс

1
Виправлення: Випуск також стосується старого csproj.
jnm2

7

MsBuild:

<Target Name="Rename" AfterTargets="AfterBuild">
    <Move SourceFiles="$(OUTDIR)\Application1.exe" DestinationFiles="$(OUTDIR)\ApplicationNew.exe" />
    <Message Text="Renamed executable file." Importance="high" />
</Target>

Змінити ApplicationName - не найкращий спосіб. Наприклад, якщо ви використовували ресурси wpf, повний шлях містить ApplicationName, і після перейменування виконуваного файлу вам потрібно змінити всі повні схеми в додатку

<ResourceDictionary Source="pack://application:,,,/Application1;component/Themes/CustomStyles.xaml"/>

У цій ситуації я використовував msbuild.


Це приємно, тому що якщо ви заміните «Перемістити» на «Копіювати», налагодження все одно працюватиме (проблема з іншою відповіддю для мене не вирішена станом на VS2017)
Колічиков,

0

Двічі клацніть "Мій проект"

Клацніть на "Маніфест пакету ..."

Клацніть на 'Application'

У розділі "Відображуване ім’я" введіть ім'я, яке потрібно викликати.

У вашому випадку це буде: "Demo", оскільки ви хочете, щоб назва проекту "SampleDemo" мала вихідний файл exe з назвою "Demo"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.