如何在Visual Studio扩展中解决CSharpUpgradeProjectCodeFixProvider中的Nu



The Issue

你好,我正在尝试更新ASP。. NET框架项目从c#版本5到更现代的语言版本。但是,每次我尝试运行自动更新程序时都会出错,而且我无法在网上找到有关如何手动操作的任何内容,也无法找到与此特定问题相关的任何内容。

编辑:
引起这个问题的代码是Visual Studio的一部分,因此不是我自己的代码的一部分,因此我觉得它与发布我的代码没有任何关系。我完全知道什么是NullReferenceException,我不知道如何修复一个visual studio扩展。看在上帝的份上,请阅读标题以外的内容。参考问题是关于修复错误在你自己的代码,我需要更新一个c#版本。

请在它提供的堆栈跟踪下面查找:

System.NullReferenceException : Object reference not set to an instance of an object.
at Microsoft.VisualStudio.LanguageServices.Utilities.ProjectPropertyStorage.PerConfigurationPropertyStorage.SetProperty(String buildPropertyName,String configurationPropertyName,String value)
at Microsoft.CodeAnalysis.Workspace.ApplyProjectChanges(ProjectChanges projectChanges)
at Microsoft.CodeAnalysis.Workspace.TryApplyChanges(Solution newSolution,IProgressTracker progressTracker)
at Microsoft.VisualStudio.LanguageServices.Implementation.ProjectSystem.VisualStudioWorkspaceImpl.TryApplyChanges(Solution newSolution,IProgressTracker progressTracker)
at Microsoft.CodeAnalysis.CodeActions.ApplyChangesOperation.ApplyOrMergeChanges(Workspace workspace,Solution originalSolution,Solution changedSolution,IProgressTracker progressTracker,CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.CodeActions.ApplyChangesOperation.TryApplyAsync(Workspace workspace,Solution originalSolution,IProgressTracker progressTracker,CancellationToken cancellationToken)
at async Microsoft.CodeAnalysis.CodeActions.CodeActionEditHandlerService.ProcessOperationsAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.CodeActions.CodeActionEditHandlerService.ApplyAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.Editor.Implementation.Suggestions.SuggestedAction.InvokeWorkerAsync(<Unknown Parameters>)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.CodeAnalysis.Extensions.IExtensionManagerExtensions.PerformActionAsync(<Unknown Parameters>)

What I tried

到目前为止,我已经探索了各种级别的SEO-fu,以获得任何甚至远程相关的东西,但无济于事。当我打开项目的Property Pages窗口时,我只能升级到目标框架4.8,因为这是最新版本。根据微软学习网站,. net框架应该默认为c# 7.3,但我的ASP网站使用的版本是c# 5。当我尝试使用目标类型的对象创建时,我知道这个工具提示提醒我正在使用c# 5。

对此事的任何帮助都将不胜感激。

系统。NullReferenceException:对象引用未设置为对象的实例;问题可能由以下原因引起:

  1. ViewState对象为Null
  2. 日期设置为空。
  3. 由于sql语句或数据库的原因,DataReader为空。
  4. 当声明字符串变量时,应用该变量而不赋空值。
  5. 对象没有初始化new。
  6. 会话对象或应用程序为空。
  7. 给控件赋值时,该值不存在。
  8. 当使用Request.QueryString()时,获取的对象不存在,或者当值为空时未分配初始值。
  9. 当使用FindControl时,控件不存在但还没有被预处理。
  10. 重复定义会导致对象引用未设置为对象实例的错误。

如果可以消除以上问题,那么请打开Visual Studio Installer修复Visual Studio。

感谢@Ralf在评论中解决了这个问题。我更愿意给他们报应,但我不能把评论标记为答案。

参考:在此链接中找到了提供的解决方案。

解决方法是手动调整web.config中的语言版本。我的文件版本似乎完全丢失了代码块。

<system.codedom>
<compilers>
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" 
compilerOptions="/langversion:7.3 /nowarn:1659;1699;1701;612;618" 
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, 
Microsoft.CodeDom.Providers.DotNetCompilerPlatform, 
Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4" 
compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=&quot;Web&quot; /optionInfer+" 
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, 
Microsoft.CodeDom.Providers.DotNetCompilerPlatform, 
Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</compilers>
</system.codedom>

相关内容

最新更新