VS 发布Web应用报错
今天在用VS发布Web应用时,点击发布的时候,出现了如下图所示错误:
打开诊断日志,显示如下:
System.NullReferenceException: 未将对象引用设置到对象的实例。
在Microsoft.VisualStudio.ApplicationCapabilities.Publish.Provider.DefaultPublishTabProvider.InitializeProvider(IVsHierarchy hierarchy)
在 Microsoft.VisualStudio.ApplicationCapabilities.Publish.Provider.DefaultPublishTabProvider.CreateViewAsync(IVsHierarchy project, IAsyncServiceProvider serviceProvider, CancellationToken cancellationToken)
在 Microsoft.VisualStudio.ApplicationCapabilities.Publish.Provider.ManagedPublishProvider.d__3.MoveNext()
解决方法
程序能够通过编译,说明不是代码本身问题。我又新建了一个Web应用,没写任何代码,点击发布仍然是出现相同的错误。搜索了很多方法,包括往VS添加新功能,改变目录等,还是出现同样的问题。
最后解决的方法是打开Visual Studio Installer,点击更多-修复,对安装的VS进行修复。修复之后重启电脑,再次打开,就可以发布了。
可能原因
利用VS发布web应用,并用IIS发布时,我是先下载的vs,然后打开IIS服务,可能使得.net framework不全,也就导致了发布时产生错误。