won*_*rld 32 .net-core asp.net-core
我有一个ASP.NET核心应用程序.我通过运行命令来运行应用程序
dotnet run
Run Code Online (Sandbox Code Playgroud)
当我构建这个ASP.NET核心应用程序时,我在五分之一的情况下看到以下错误.
C:... \错误CS2012:无法打开'C:...\bin\Debug \netcoreapp1.0\AAA.Web.dll'进行写入 - '进程无法访问文件'C:...\bin\Debug \netcoreapp1.0\AAA.Web.dll'因为它正被另一个进程使用.
除了上述问题,我还看到我在CSHTML文件中没有进行任何更新.我必须停止dotnet run命令,再次构建应用程序然后运行dotnet run命令.
我该如何解决这些问题?
csa*_*uve 16
在IIS中运行aspnetcore应用程序时,这也可能会有所帮助。
将以下内容添加到您的csproj中:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="echo "App Offline" /a > "$(ProjectDir)app_offline.htm"" />
</Target>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="del "$(ProjectDir)app_offline.htm"" />
</Target>
Run Code Online (Sandbox Code Playgroud)
Kur*_*ula 14
如果它在本地并且应用程序在IIS上运行,则在日期时间之前在Windows任务栏中,应该有一个IIS Express Option。选择IIS Express,然后选择退出。尝试再次运行应用程序。
jam*_*art 14
当尝试使用/taskkill /f /pid <number in the error>它杀死进程时,它告诉我该进程甚至不存在。
我只需要.NET Core Host在任务管理器中找到并在那里结束。
当我编辑测试项目时偶尔会发生这种情况Core 3.0- 不使用 IIS,它只是一个类库和一个解决方案中的测试项目。
就我而言,即使停止监视模式后,由于dotnet watch run命令,我仍然遇到相同的问题。
Visual Studio报告了此错误消息:该文件被锁定:“ .NET core Host(pid)”
,用pid终止了进程,从而解决了该问题。
这在我身上发生过很多次。至少在我的情况下,问题是我的应用程序正在运行。因此,当编译器尝试更新 dll 时,它无法更新,因为 dll 已被锁定并被正在运行的应用程序使用。一旦我关闭应用程序并再次进行编译,它就可以正常工作。
| 归档时间: |
|
| 查看次数: |
16133 次 |
| 最近记录: |