刚开博,实在无从下手,就先堆一篇,当做个笔记,见笑了。
虽然很早就注册了博客园账号,但大多进来只是随便逛逛,或在开发过程中遇到问题的时候进来找找答案。
作为圈子里少而不稀的女程序员,从事Web开发,接触的一直是MVC。说真的,我对敲代码并没啥兴趣,只是当年被调剂到了软件工程专业,一切顺其自然便走上了这条路,都是为了混口饭吃。
混沌度日,不思进取了几年,慢慢地觉得自己好像都快没有学习能力了,果然没啥长进。看着时代现状,瞅瞅自己,观察周围……我是不是该做点什么改变了?毕业也有几年了,却也不知如何开始,俨然还是一只迷惑的羔羊。
欢迎大家指点迷津,鄙人谨遵教诲!
一、ViewBag 提示 找不到编译动态表达式所需的一个或多个类型
web MVC项目,在Razor视图中,经常可以看到页面上使用ViewBag的地方提示“找不到编译动态表达式所需的一个或多个类型。是否缺少引用?”,但不影响项目编译运行。
网上搜到的解决方案,然,不明所以,所以都列出来了,大家可以都试试:
1、查看是否引用Microsoft.Csharp,并将复制本地属性设置为: true。
复制本地 可以解决复制整个解决方案到其他机器缺失引用的问题。
2、清空C:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root下的所有文件夹。
有几个地方说是 删除:C:\Users\{your computer name}\AppData\Local\Temp\Temporary ASP.NET Files 该目录下的临时文件即可。
以上,我都试过了,然后并没有什么用,所幸没什么影响,只是这红色波浪线看着比较难受,暂时先放着吧,搞不好哪天会茅塞顿开。
二、无法在catch子句中等待
解决方案:
其实这个问题在C#6.0当中已经得到了解决:
但我想还是有部分人跟我一样用着VS 2013,这时候我们可以通过nuget的包Microsoft.CodeDom.Providers.DotNetCompilerPlatform安装Roslyn编译器,会在web.config里面配置<system.codedom><compilers>,替换掉默认的编译器。重新生成之后bin文件夹下同时会生成一个roslyn文件夹,发布的时候不要忘了也带上。
<system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" /> </compilers> </system.codedom>