2

当我尝试使用发布到本地 IIS 7 服务器的 Spark View Engine 访问 ASP.NET MVC3 应用程序时出现此错误。我已经看过这个答案并且已经遵循了这个建议,但我仍然遇到问题。我还尝试将 Microsoft.Web.Mvc DLL 的Copy Local设置更改为true。我从来没有在 Visual Studio 调试服务器上遇到过这个错误。重新发布有时会使错误消失,但它会再次出现。

我应该从哪里开始寻找摆脱这个问题?

谢谢!

<!-- At the end of my Web.config: -->
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

编辑:为清楚起见,我尝试部署到的 IIS 服务器位于我的开发机器上。

编辑:我的 _global.spark 看起来像这样:

<use namespace="System.Collections.Generic"/>
<use namespace="System.Web.Mvc.Html"/>
<use namespace="System.Web.Mvc"/>
<use namespace="System" />
<use namespace="System.Linq" />
<use namespace="Namespace.For.Some.Code" />
<use namespace="Namespace.For.Some.More.Code" />
<use namespace="Namespace.For.Yet.Some.More.Code" />
<use namespace="Microsoft.Web.Mvc" />
<use namespace="Namespace.For.Still.More.Code" />

<!-- Added after suggested answer -->
<use assembly="Microsoft.Web.Mvc"/>

<global type="string" Title="'title of my app'" />
<global type="SomeDomainObject" SomeVariable="Utilities.ApplicationUtilities.GetSomeDomainObject" />
4

1 回答 1

1

您是否从/Shared/_global.spark文件中引用了 MVC?

您可以在此答案中查看详细信息

SparkSettings或者,您可以在注册 ViewEngine 时将名称空间添加到您的名称空间。这是我的样子:

var settings = new SparkSettings()
 .SetDebug(true)
 .SetAutomaticEncoding(true)
 .AddAssembly("Web")
 .AddNamespace("Web.Model")
 .AddNamespace("System.Collections.Generic")
 .AddNamespace("System.Linq")
 .AddNamespace("System.Web.Mvc")
 .AddNamespace("System.Web.Mvc.Html");

希望有帮助,
罗布

于 2012-06-16T12:18:54.167 回答