我正在我的项目中使用umbraco 4.11.3.我的项目工作得很好,在Windows 7上运行并从visual studio 2012运行.但是当它从Visual Studio 2012运行时它在Win 8中不起作用!
错误是:
无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.IO.FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
程序集加载跟踪:以下信息有助于确定无法加载程序集"System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"的原因.
===预绑定状态信息===日志:用户= Jahan-PC\jahan日志:DisplayName = System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35(完全指定)日志:应用平台=文件:/// G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/ LOG:初始PrivatePath = G:\ 20130204 \源码\ Defraz.Movafaqiyat.WebApp\Defraz.Movafaqiyat.WebApp\bin调用程序集:ClientDependency.Core.Mvc,Version = 1.5.1.0,Culture = neutral,PublicKeyToken = null.===日志:此绑定在默认加载上下文中启动.日志:正在使用应用程序配置文件:G:\ 20130204 \源码\ Defraz.Movafaqiyat.WebApp\Defraz.Movafaqiyat.WebApp\web.config中LOG:使用主机配置文件:C:\用户\汗\文件\ IISExpress \配置\ ASPNET .config日志:使用C:\ Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config中的计算机配置文件.日志:后政策参考:System.Web.Mvc,版本= 2.0.0.0,文化=中性公钥= 31bf3856ad364e35 LOG:尝试新的URL文件下载:/// C:/用户/汗/应用程序数据/本地/温度/ Temporary ASP.NET Files/root/bc5b37d0/42db0b24/System.Web.Mvc.DLL.日志:尝试新的URL文件下载:/// C:/用户/汗/应用程序数据/本地/温度/ ASP.NET临时文件/根/ bc5b37d0/42db0b24/System.Web.Mvc/System.Web.Mvc.dll程序.日志:新的URL文件的尝试下载:/// G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/bin/System.Web.Mvc.DLL.警告:比较程序集名称导致不匹配:主要版本错误:无法完成程序集的设置(hr = 0x80131040).探测终止.
堆栈跟踪:
[FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = …
我想用row-fluid类创建bootstrap网格.需要将所有嵌套div与span4类分隔成块.所以我希望有这样的HTML:
<div class="row-fluid">
<div class="span4"></div>
<div class="span4"></div>
<div class="span4"></div>
</div>
<div class="row-fluid">
<div class="span4"></div>
<div class="span4"></div>
<div class="span4"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有剃刀代码
@{
int counter = 3;
}
@foreach (var config in Model)
{
@if (counter == 3)
{
<div class="row-fluid">
@counter = 0;
}
@Html.Partial("_ConfigBar", config)
@if (counter == 2)
{
</div>
}
@{counter++;}
}
Run Code Online (Sandbox Code Playgroud)
部分视图只是将div放在span4类中,并没有什么有趣的.
但它没有用.谁能指出我有什么不对?
我有一个在Azure Web角色上运行的站点,我可以通过修改web.config强制重新启动应用程序,但如果我想重新启动IIS,我被告知我不应该通过远程桌面手动执行此操作,而是我应该重新启动Azure托管进程.
这篇文章似乎同意这种观点.
我的问题是重新启动进程可能需要将近10-15分钟才能重新启动.有没有更快的方法来实现这一目标?
我目前正在使用windows.azure.com UI来进行所有部署和管理.
我有一个linq对NHibernate的查询.
var q = SessionInstance.Query<Request>().Max(e => e.Code);
Run Code Online (Sandbox Code Playgroud)
如果Request表没有行,则执行此查询会引发GenericADOException并显示以下消息:
{"Could not execute query[SQL: SQL not available]"}
{"Value cannot be null.\r\nParameter name: item"}
我该怎么办?
在示例代码中,这是从.cshtml文件获取主页的方式
var homePage = CurrentPage.AncestorsOrSelf(1).First();
Run Code Online (Sandbox Code Playgroud)
现在,如何通过ID获取特定页面/节点(与当前页面无关,例如新闻页面)?
我将文件存储在blob存储帐户中的一个容器中.我需要在第二个容器中创建一个zip文件,其中包含第一个容器中的文件.
我有一个使用worker角色和DotNetZip工作的解决方案,但因为zip文件最终可能是1GB大小我担心在进程中使用MemoryStream对象等进行所有工作并不是最好的方法.我最关心的是内存使用和释放资源,因为这个过程可能每天发生几次.
下面是一些非常简化的代码,显示了worker角色的基本过程:
using (ZipFile zipFile = new ZipFile())
{
foreach (var uri in uriCollection)
{
var blob = new CloudBlob(uri);
byte[] fileBytes = blob.DownloadByteArray();
using (var fileStream = new MemoryStream(fileBytes))
{
fileStream.Seek(0, SeekOrigin.Begin);
byte[] bytes = CryptoHelp.EncryptAsBytes(fileStream, "password", null);
zipFile.AddEntry("entry name", bytes);
}
}
using (var zipStream = new MemoryStream())
{
zipFile.Save(zipStream);
zipStream.Seek(0, SeekOrigin.Begin);
var blobRef = ContainerDirectory.GetBlobReference("output uri");
blobRef.UploadFromStream(zipStream);
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以提出更好的方法吗?
通常,我会将所有应用程序配置数据存储在web/app.config和关联的xml配置文件中.但我在想,这可能不一定是处理所有配置数据的最佳方式.
有什么建议可以更实际地使用其中一个吗?
使用Autofac,我可以使用以下代码注册一个类来解析使用属性注入的接口:
builder.RegisterType<Log4NetAdapter>()
.As<ILogger>()
.PropertiesAutowired()
.InstancePerDependency();
Run Code Online (Sandbox Code Playgroud)
但是,我的Log4NetAdapter类有一个构造函数参数,需要调用类的名称.这样,我可以根据调用类的名称记录事件.
public class Log4NetAdapter : ILogger
{
private readonly ILog _logger;
public Log4NetAdapter(string logName)
{
_logger = LogManager.GetLogger(logName);
}
...
}
Run Code Online (Sandbox Code Playgroud)
typeof(dependency).Name如果每个依赖项都有自己的Log4NetAdapter实例,我怎样才能将依赖项的名称(即)注入到属性注入类的构造函数中?
使用这种方法我已经使我的静态方法调用了一个Action希望我可以在我的Moq单元测试中设置和验证调用.
正在测试的代码是:
public Action<Data> Calculate = x => CalculatorHelper.Calculate(x);
public void CalculateData(Data data)
{
...
Calculate(data);
...
}
Run Code Online (Sandbox Code Playgroud)
测试是:
[Test]
public void CalculateIsCalled()
{
_mockService.Setup(x => x.Calculate = CalculatorHelper.Calculate)
.Verifiable();
...
_mockService.VerifyAll();
}
Run Code Online (Sandbox Code Playgroud)
但是,Setup()抛出编译错误的参数"表达式树不能包含赋值运算符".
显然代码x => x.Calculate = CalculatorHelper.Calculate不正确但是正确的编码方式是什么?
我试图将一个新的MVC模板添加到我过去几个月一直在开发的现有网站上.我有几个自定义控制器/模型设置工作正常.今天我尝试添加另一个新模板,我遇到了这个错误,我无法通过.Umbraco版本是7.04.
一,错误:
http://i.imgur.com/iH6cmUD.png
〜/查看/ MVCTest.cshtml
@inherits Umbraco.Web.Mvc.UmbracoViewPage<TestModel>
@{
Layout = null;
}
<h1>Hello, World!</h1>
Run Code Online (Sandbox Code Playgroud)
〜/ App_Code文件/测试/ TestController.cs
using System.Web.Mvc;
using Umbraco.Web.Models;
using Umbraco.Web.Mvc;
public class TestController : RenderMvcController {
public override ActionResult Index(RenderModel model) {
var test = new TestModel(model.Content, model.CurrentCulture);
return base.Index(test);
}
}
Run Code Online (Sandbox Code Playgroud)
〜/ App_Code文件/测试/ TestModel.cs
using System.Globalization;
using Umbraco.Core.Models;
using Umbraco.Web.Models;
public class TestModel : RenderModel {
public TestModel(IPublishedContent content, CultureInfo culture)
: base(content, culture) {
}
}
Run Code Online (Sandbox Code Playgroud)
有人看到任何明显的问题吗?这真的很奇怪,因为我有一些基本相同的代码适用于其他一些自定义模型和控制器,所以我完全混淆为什么任何新类型给我这个错误.