我运行命令:
dotnet watch run
在我的Web项目(ASP.NET Core)文件夹中。 当我进行更改时,dotnet尝试构建,但出现错误:
该进程无法访问文件'S:.. Views.dll',因为它 正在被另一个进程使用。
我了解为什么会收到此文件,但正在使用该文件,但是可以解决此问题吗?
答案 0 :(得分:0)
该进程无法访问文件[…],因为它正在被另一个进程使用。
当您收到此错误时,则表示构建过程无法写入该文件,因为该文件仍在其他地方使用。在.NET应用程序的上下文中,这通常意味着您在尝试构建应用程序时正在某个地方运行。
为了允许Built-in commands:
. : [ alias break cd chdir command continue echo eval exec exit
export false getopts hash help history let local printf pwd read
readonlq return set shift test times trap true type ulimit umask
unalias unset wait [ [[ acpid ash awk basename blockdev cat chmod
chroot chvt clear cmp cp cut deallocvt devmem df dnsdomainname
du dumpkmap echo egrep env expr false fbset fdflush fgrep find
fstrim grep gunzip gzip hostname hwclock ifconfig ip kill In
loadfont loadkmap is lzop lzopcat mkdir mkfifo *nod mkswap mktemp
modinfo more mount my openvt pidof printf ps pwd readlink reset
rm rmdir sed seq setkeycodes sh sleep sort stat static-sh stty
switch_root sync tail tee test touch tr true tty umount uname
uniq unlzop we wget which yes zcat
构建应用程序,您将必须终止正在运行应用程序的进程。因此,寻找现有实例并停止它们。
通过Visual Studio启动ASP.NET Core应用程序时,默认设置是通过IIS Express运行它们。这种方式的缺点是,由于您没有在某处获得控制台窗口,因此您无法真正看到该过程在某处运行。而是,任务栏中有一个小图标,用于显示IIS Express托管的应用程序。您可以从该图标的菜单中停止该应用程序。
如果在开发过程中使用dotnet run
仅 来运行应用程序,则它将正确检测文件对代码的更改并重新启动应用程序。但是,这也意味着命令行负责启动应用程序,并且您无法以其他方式运行该应用程序。最重要的是,您将无法使用 F5 从Visual Studio运行和调试应用程序。相反,您将必须附加到dotnet watch run
的运行过程中才能调试应用程序(或停止dotnet run
命令)。