我得到了“VS 2017开发人员命令提示”命令行工具的奇怪行为。通常在Visual Studio的早期版本中,这个脚本(VsDevCmd.bat)并没有弄乱你运行它的当前目录。现在它似乎改变了它。一个简单的工作流程就是启动快捷方式“VS 2017的开发人员命令提示符”,它不支持“开始”目录:
有人见过这个问题吗?它真的很烦我,因为我曾经有一个快捷方式,并在我的源目录中启动CMD,然后使用TFS / msbuild命令。
答案 0 :(得分:9)
您可以将VSCMD_START_DIR
环境变量设置为在完成后将vsdevcmd.bat
更改为该目录。否则,它将检查您是否有%USERPROFILE%\source
目录并更改为该目录(这是您所看到的)。
您可以更改"目标"对于VS 2017的"开发人员命令提示符"如下所示更改到特定目录:
%comspec% /k "set VSCMD_START_DIR=C:\temp && "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat""
请注意,vsdevcmd.bat
的路径需要添加一组双引号。
或者,重命名或删除%USERPROFILE%\source
目录(请注意,这似乎是某种新的"标准"源目录),这将使vsdevcmd.bat
尊重& #34;开始" -value(即"当前目录")。
答案 1 :(得分:1)
::雷德蒙德的一些火箭科学家让VS15 VsDevCmd.bat改变了cwd; pushd / popd修复了这个问题。 推%%CD% 调用" C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ Tools \ VsDevCmd.bat" POPD
" C:\ Program Files(x86)\ CruiseControl.NET \ server \ ccnet.exe" %*
答案 2 :(得分:1)
vsdevcmd_end.bat ,REM出线:
cd /d "%USERPROFILE%\Source"
@REM Set the current directory that users will be set after the script completes @REM in the following order: @REM 1. [VSCMD_START_DIR] will be used if specified in the user environment @REM 2. [USERPROFILE]\source if it exists @REM 3. current directory if "%VSCMD_START_DIR%" NEQ "" ( cd /d "%VSCMD_START_DIR%" ) else ( if EXIST "%USERPROFILE%\Source" ( cd /d "%USERPROFILE%\Source" ) )
答案 3 :(得分:0)
如果我以正确的方式看到了您的疑问,那么我曾经在CMD或PowerShell的帮助下使用EntityFramework Core。为此,您应该右键单击“解决方案资源管理器”面板,然后在上下文菜单中,单击“文件资源管理器”中的“打开文件夹”。在文件资源管理器的地址栏中,键入cmd或powershell,您将从项目文件夹中启动命令行。