加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – F#Asp.Net CodeDom ProviderOptions问题

发布时间:2020-12-16 09:31:04 所属栏目:asp.Net 来源:网络整理
导读:我正在IIS 7上使用F#创建一个ASP.NET MVC应用程序. 当我尝试从浏览器运行它时,我遇到了一个包含以下内容的YSOD: [ArgumentNullException: Value cannot be null. Parameter name: dictionary] System.Collections.Generic.Dictionary 2..ctor(IDictionary 2
我正在IIS 7上使用F#创建一个ASP.NET MVC应用程序.

当我尝试从浏览器运行它时,我遇到了一个包含以下内容的YSOD:

[ArgumentNullException: Value cannot
be null. Parameter name: dictionary]
System.Collections.Generic.Dictionary2..ctor(IDictionary2
dictionary,IEqualityComparer`1
comparer) +12700827
System.Web.Compilation.CompilationUtil.CreateCodeDomProviderWithPropertyOptions(Type
codeDomProviderType) +84
System.Web.Compilation.CompilationUtil.CreateCodeDomProviderNonPublic(Type
codeDomProviderType) +16
System.Web.Compilation.AssemblyBuilder..ctor(CompilationSection
compConfig,ICollection
referencedAssemblies,CompilerType
compilerType,String
outputAssemblyName) +469
System.Web.Compilation.CompilerType.CreateAssemblyBuilder(CompilationSection
compConfig,String
generatedFilesDir,String
outputAssemblyName) +127
System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
+675 System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
+46 System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean
isPrecompiledApp) +11321455
System.Web.Compilation.BuildManager.CompileGlobalAsax()
+50 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
+872

我查看了使用Reflector的方法,看看它是否能给我更多的上下文,并发现它在第一行失败了

private static CodeDomProvider CreateCodeDomProviderWithPropertyOptions(Type codeDomProviderType)
{
IDictionary<string,string> providerOptions = new Dictionary<string,string>(GetProviderOptions(codeDomProviderType));
//Snip
}

这让我相信我在我的Web.config中为F#CodeDom指定的propertyOptions是不正确的.但是,如果我删除它们,我会收到同样的错误.

<system.codedom>
 <compilers>
  <compiler language="F#;f#;fs;fsharp" extension=".fs" warningLevel="4" 
            type="Microsoft.FSharp.Compiler.CodeDom.FSharpAspNetCodeProvider,FSharp.Compiler.CodeDom">
    <providerOption name="CompilerVersion" value="v4.0"/>
    <providerOption name="WarnAsError" value="false"/>
  </compiler>
 </compilers>
</system.codedom>

有关纠正此错误的任何想法?

解决方法

这是VS2010 Beta2中的ASP.NET中的一个错误(它已被修复,因此将在下一版本中使用).它影响任何第三方CodeDOM提供商,我不相信有任何解决方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读