Передать параметры msbuild в команду запуска dotnet
Мы можем передать аргументы msbuild в сборку dotnet:
dotnet build MyApp.csproj /p:SolutionDir=C:\MyApp
Как мы можем сделать то же самое с dotnet run
?
Это не работает:
dotnet run MyApp.csproj /p:SolutionDir=C:\MyApp
Вариант использования, который мы имеем в виду, это использовать dotnet watch
с run
команда и передать параметры msbuild в run
команда неявная build
шаг.
2 ответа
dotnet build MyApp.csproj /p:SolutionDir=C:\MyApp & dotnet run myApp.csproj --no-build
В dotnet 6 или более поздних версиях вы можете предоставить
-p, --property
также аргументы для команды запуска.
> dotnet --version
6.0.200
> dotnet run --help
Description:
.NET Run Command
Usage:
dotnet [options] run [[--] <additional arguments>...]]
Options:
-c, --configuration <CONFIGURATION> The configuration to run for. The default for most projects is 'Debug'.
-f, --framework <FRAMEWORK> The target framework to run for. The target framework must also be specified in the project file.
-r, --runtime <RUNTIME_IDENTIFIER> The target runtime to run for.
--project <project> The path to the project file to run (defaults to the current directory if there is only one project).
-p, --property <property> Properties to be passed to MSBuild.
--launch-profile <launch-profile> The name of the launch profile (if any) to use when launching the application.
--no-launch-profile Do not attempt to use launchSettings.json to configure the application.
--no-build Do not build the project before running. Implies --no-restore.
--interactive Allows the command to stop and wait for user input or action (for example to complete authentication).
--no-restore Do not restore the project before building.
--sc, --self-contained Publish the .NET runtime with your application so the runtime doesn't need to be installed on the target machine.
The default is 'true' if a runtime identifier is specified.
--no-self-contained Publish your application as a framework dependent application. A compatible .NET runtime must be installed on the target machine to run your application.
-v, --verbosity <LEVEL> Set the MSBuild verbosity level. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].
-a, --arch <arch> The target architecture.
--os <os> The target operating system.
-?, -h, --help Show command line help.
Additional Arguments:
Arguments passed to the application that is being run.