草庐IT

编译ffmpeg

全部标签

c# - 为什么用 .net 代码更新 cshtml 文件时不需要编译?

我正在使用Asp.netMvc,我想知道为什么在更新cshtml文件中的.net代码时不需要编译我的项目?现在,如果我们谈论html\css更新,那么我清楚地理解为什么简单的刷新就足够了,但在这些情况下,.net代码如何即时编译?假设我有一个View,我想向其中添加一些C#代码,例如Datetime.Now.ToString();现在通常我可以将这行代码添加到我的cshtml文件中,保存文件,刷新页面并在不编译的情况下查看结果。如果我通过向我的模型添加一个属性、在我的Controller中分配Datetime.Now.ToString()并简单地呈现我需要的新变量来“按规定”做同样的事

c# - 为什么当我将类转换为它未实现的接口(interface)时没有编译器错误?

如果我尝试从一个类到一个接口(interface)的无效转换,那么编译器不会报错(错误发生在运行时);但是,如果我尝试对抽象类进行类似的转换,它确实会提示。classProgram{abstractclassaBaz{publicabstractintA{get;}}interfaceIBar{intB{get;}}classFoo{publicintC{get;}}staticvoidMain(){Foofoo=newFoo();//compilererror,asexpected,sinceFoodoesn'tinheritaBazaBazbaz=(aBaz)foo;//nocom

c# - 简单的 Linq 表达式无法编译

有了这些基本定义boolMyFunc(stringinput){returnfalse;}varstrings=new[]{"aaa","123"};我想知道为什么这不会编译:varb=strings.Select(MyFunc);但这将:varc=strings.Select(elem=>MyFunc(elem));错误消息是“无法从用法中推断方法‘System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable,System.Func)’的类型参数。”Resharper错误提示说它混淆了Select(thisI

c# - 由于 Fody 错误无法编译项目。 Fody(或任何其他代码)没有任何改变

**这是VisualStudio2013中的一个问题。我得到的错误是巨大的而且大部分是无用的,但它的关键是Error130Fody:Couldnotload'ModuleWeaver'from'PropertyChanged.Fody,Version=1.50.3.0,Culture=neutral,PublicKeyToken=null'duetoReflectionTypeLoadException.Itispossibleyouneedtoupdatethepackage.exception.LoaderExceptions:System.IO.FileLoadException

c# - 编译时间 'const'是什么意思?

他们说readonly和const之间的区别在于const是编译时的(而readonly是运行时的)。但这到底是什么意思,它是编译时间?一切都被编译成字节码不是吗? 最佳答案 这意味着const变量被写入它们被引用的位置。因此,假设您有2个库,其中一个带有const变量://LibraryAconstintTEST=1;//LibraryBvoidm(){Console.WriteLine(A.TEST);}该变量实际上是在编译时写入B的。不同之处在于,如果您重新编译A而不是B,则B将具有“旧”值。readonly变量不会发生这种情

c# - 有没有办法在 Visual Studio 2008 中使用 2005 C# 编译器?

我在项目中使用visualstudio2008/C#。我们使用的是.NET2.0,而2.0中发布的任何版本的C#。我可以将我的项目设置为在VS2008中使用.NET2.0框架,但我不知道在哪里选择我的C#编译器。通常这会是一个问题,但我每天大约90%的时间都花在JS上,所以在C#中声明变量时,我总是不小心留在var语句中。这在我的机器上编译得很好并且VS没有报告错误,然后它破坏了构建。有什么方法可以在VS2008中使用VS2005中较旧的C#编译器(抱歉,我不知道那是什么版本)? 最佳答案 您不能告诉它使用C#2编译器,但您可以告诉

c# - 如何反编译在 VS.net 中创建的 .dll 文件

我需要反编译一个在VS.net中创建的dll文件。有什么工具可以做到这一点吗?或者我可以用一些代码来做到这一点吗?请帮忙。 最佳答案 编辑2:我现在使用DotPeekfromJetbrains.它在调试时根据需要进行反编译的能力令人惊叹。编辑:NowthatReflectorisnolongerafreetool,一个更新的工具ILSpy正在开发中。ILDASM如果您不想使用其他工具,它就是您的friend。 关于c#-如何反编译在VS.net中创建的.dll文件,我们在StackOve

c# - 为什么 C# 编译器不捕获 InvalidCastException

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Compile-timeandruntimecastingc#据我了解,以下代码将始终编译,并且还会始终在运行时通过抛出InvalidCastException失败。例子:publicclassPost{}publicclassQuestion:Post{}publicclassAnswer:Post{publicvoidFail(){Postp=newPost();Questionq=(Question)p;//ThiswillthrowanInvalidCastException}}我的问题是...如果我

c# - 编译查询失败 - 查询是针对与指定 DataContext 关联的映射源不同的映射源编译的

我有以下代码用于编译的Linq2sql查询以计算表中的行数。尽管相同的未编译查询运行顺利,但查询抛出异常:publicstaticFuncCompiledCount=CompiledQuery.Compile((ServiceCustomContextdb)=>db.Current.Count());publicstaticintCount(){using(ServiceCustomContextdb=newServiceCustomContext(Constants.NewSqlConnection))returnCompiledCount(db);}ServiceCustomCon

c# - 为什么 ASP.NET 编译器会在每次构建时重建所有二进制文件?

当我使用aspnet_compiler重新编译我的项目(asp.net、c#)时,即使没有进行任何代码更改,重建的二进制文件也会发生变化(与之前的构建相比)。据我所知,这是由于构建每次构建时都会生成一个新的模块版本ID(guid)(以区分构建),另一个类似的问题讨论了这个问题:Canispecifythemoduleversionid(MVID)whenbuildinga.netassembly?上面的链接问题似乎表明没有办法重建项目并使二进制文件与先前构建的相同未更改代码相匹配。好的,很好,我明白了——但为什么所有的二进制文件都被重建了?我认为,根据文档(http://msdn.mi