我正在尝试将我的网站部署到我的托管服务提供商并不断收到以下错误:
无法加载文件或程序集“System.Web.Razor”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
[FileLoadException: 无法加载文件或程序集“System.Web.Razor”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)]
[FileLoadException:无法加载文件或程序集“System.Web.Razor,版本=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)]
...
[ConfigurationErrorsException: 无法加载文件或程序集“System.Web.Razor,版本=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)]
...
[HttpException (0x80004005): 无法加载文件或程序集“System.Web.Razor,版本=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)]
...
该站点是使用 ASP.NET 4 和 MVC 4 构建的。在运行 Windows 8 的开发机器上一切正常。我已将 System.Web.Razor.dll 复制到服务器上的 bin 文件夹中,这没有任何区别,尽管这似乎是 v1.0 版本的程序集 (~260k)。
我看过
C:\Windows\Assembly并且没有看到任何专门针对 System.Web.Razor 的内容。但是,我确实有以下两个文件:
C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Web.Razor\04eb82505c0086e8eb097d1408183aa0\System.Web.Razor.ni.dll(776k,文件版本:1.0.207105.44)
C:\Windows\assembly\NativeImages_v4.0.30319_64\System.Web.Razor\ab032b45c588b488ebca535054d827bc\System.Web.Razor.ni.dll(1823k,文件版本:2.0.20715.0)
但是,即使从这里复制 v2 程序集也不起作用,尽管我认为这无论如何都不是正确的文件,因为 v1 程序集文件大小也不匹配。
关于这里发生了什么的任何想法?
我猜我的托管服务提供商没有安装任何东西(因为他们一直告诉我把所有东西都放在 bin 文件夹中),但我很好奇为什么我找不到这个 System.Web.Razor v2 DLL任何地方。
为了调试,我还上传了带有基本模板的空网站,效果很好。有趣的是,当我添加对Postal的引用并再次部署时,我收到了错误 - 但即使我将文件恢复回来,错误仍然存在!为什么会发生这种情况?
任何帮助,将不胜感激。开始觉得有点想不通了。
编辑 1
创建了一个新的空项目,从nuget中添加了Razor 2,将System.Web.Razor.dll设置为复制本地(2.0.20715.0,260k),发布,抓取文件并上传它,仍然出现相同的错误?似乎这个 DLL 不会被选中。
编辑 2
最终我放弃了尝试使用有问题的托管服务提供商。他们没有在服务器上安装 ASP.NET MVC 4,我认为这最终是问题所在。尝试了另一个安装了这个的主机,一切正常。
我想开始一个大约 400-500 封电子邮件的小型活动,并使用 mail-tester.com 测试了电子邮件
问题是我有这两个错误,互联网上没有人知道答案:-2.43 RAZOR2_CF_RANGE_E8_51_100 Razor2 使引擎 8 置信度高于 50% -1.729 RAZOR2_CHECK 列在 Razor2 ( http://razor.sf.net / ) 这发生在域和子域中。我尝试发送一封带有完全更改文本的电子邮件(一些关于我在维基百科上找到的动物的内容)并且没有签名,我什至尝试发送一封空电子邮件并收到相同的神秘错误。
我尝试从另一个域发送完全相同的邮件 + 签名,它运行良好,没有任何错误。
考虑到无法更改域名,我接下来应该尝试什么?
SpamAssasin 的 Razor 2 有多受欢迎,或者它可能无关紧要?
我应该等待还是相反地发送尽可能多的电子邮件来检测干净的流量?
谢谢
在标签中我想要有条件地输出样式属性,例如:<li style="@styleVar" >...</li>
当styleVar为null时,它不应该由razor编写(只是Razor 2中假设的标准功能),但出于某些奇怪的原因,它输出为<li style="">...</li>,而我期望<li>...</li>.
这是部分视图.在正常视图中,它正在工作.这是部分视图中的错误吗?
有人有同样的经历吗?
我希望能够在每个页面上显示有关成员("用户")的各种详细信息 - 即显示一些登录详细信息的部分内容.
例如,stackoverflow在每个页面上显示我的用户名,我的声誉和徽章.

由于我们喜欢坚持使用ViewModel,因此填充ViewModel并将其传递给每个页面似乎是明智的.ViewModel将包含成员对象(可能还包含其他数据).
一种方法是创建一个抽象的"基础"ViewModel类,并让您通常使用的所有其他ViewModel都从中继承.这看起来有点麻烦,因为你制作的每个ViewModel都必须从基础中继承.恼人的?
另一种方法是使用HttpContext.User.Identity.
另一种方法是创建自定义WebViewPage.
但是对于这两种可能性,我被告知不推荐它,因为它"不是非常MVC-ish".也就是说,它不符合我们在MVC中做事的自然方式.
我怎么能解决这个问题?ViewModels是否可行?
C#或VB.NET是可以接受的.
我想为input生成的添加一些自定义属性@Html.EditorFor,我尝试了以下内容:
@Html.EditorFor(model => model.Percent, new { @class = "percent" })
Run Code Online (Sandbox Code Playgroud)
但它只是忽略了我的课程,从我可以通过搜索来看,该模板不支持添加自定义属性.
但是,如何创建自定义模板,添加对自定义属性的支持,同时保留旧模板的所有功能?
我是新来MVC4/razor2,我想了解使用的一般利益@Url.Content和@Url.Action-如果我的路由或虚拟目录的变化,魔网址字符串正确呈现.
我在看一些旧的Javascript的用剃刀代码视图中被穿插着'@Url.Content("~")'.这将呈现为'/'- 或网站根目录.哪个....总是如此,不是吗?
或者是否存在某些可能以不同方式呈现的情况?
注意:它不是 ~/ - 只是普通的.
我正在计划提取对辅助函数的剃刀调用,并将JavaScript的主要块移动到外部文件中(用于linting和一般的"清洁度").我不需要"修复"当前发生的任何事情,但我想更好地理解它.
我为mvc安装sitemapprovider时遇到此错误:
Install-Package : Updating 'Microsoft.AspNet.Razor 3.2.2' to 'Microsoft.AspNet.Razor 2.0.20505.0' failed. Unable to find versions of
'Microsoft.AspNet.WebPages, Microsoft.AspNet.Mvc' that are compatible with 'Microsoft.AspNet.Razor 2.0.20505.0'.
At line:1 char:1
+ Install-Package MvcSiteMapProvider.MVC4
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
Run Code Online (Sandbox Code Playgroud) 我正在 Razor 控件库中创建一个控件。我试图只允许在文本框中按下几个按键。他们是:
我可以使用 Keycode 在 Javascript 中轻松完成此操作。在 JS 中,我会这样做:
keyPress: function (e) {
var datatype = e.currentTarget.getAttribute("data-type");
settings.valueChange.call();
//add 110, 190 for decimal
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13]) !== -1 ||
// Allow: Ctrl+A,Ctrl+C,Ctrl+V, Command+A
((e.keyCode == 65 || e.keyCode == 86 || e.keyCode == 67) && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && …Run Code Online (Sandbox Code Playgroud) 我正在使用最新版的剃须刀. https://github.com/Antaris/RazorEngine
我想将它附加到一些cshtml并调试它.
自述文件陈述如下
调试
您可能想要启用的一件事是调试功能:
Run Code Online (Sandbox Code Playgroud)config.Debug = true;当Debug为true时,您可以直接调试生成的代码.RazorEngine还支持直接调试模板文件(通常是.cshtml文件).正如您在上面的代码中看到的那样,没有要调试的文件.要为RazorEngine提供必要的信息,您需要告诉它可以找到文件的位置:
Run Code Online (Sandbox Code Playgroud)string template = "Hello @Model.Name, welcome to RazorEngine!"; string templateFile = "C:/mytemplate.cshtml" var result = Engine.Razor.RunCompile(new LoadedTemplateSource(template, templateFile), "templateKey", null, new {在我的代码中,我设置了以下内容
Run Code Online (Sandbox Code Playgroud)var config = new TemplateServiceConfiguration(); // .. configure your instance config.Debug = true; var service = RazorEngineService.Create(config); Engine.Razor = service; //string template = "Hello @Model.Name, welcome to RazorEngine!"; string templateFile = "C:/mytemplate.cshtml"; var template = new LoadedTemplateSource("", templateFile); var result = Engine.Razor.RunCompile(template, this.Name, null, model);
现在我在该路径中创建了一个cshtml文件,其中包含以下内容.
@{ …Run Code Online (Sandbox Code Playgroud) 如何在App_Code文件夹的Razor助手中使用Url.Action()?
我试过根据为什么我不能在App_Code文件夹中的剃刀助手视图文件中使用Html.RenderPartial?
@using System.Web.Mvc.Html
@helper Tabel(System.Web.Mvc.HtmlHelper html)
{
@Html.Raw(Url.Action("Index", "Home"))
}
Run Code Online (Sandbox Code Playgroud)
但得到了编译错误
CS0103:当前上下文中不存在名称"Url"
使用ASP.NET MVC4和jquery.
razor-2 ×10
razor ×6
asp.net-mvc ×4
html-helper ×2
razorengine ×2
asp.net ×1
blazor ×1
c# ×1
email ×1
hosting ×1
nuget ×1