草庐IT

编译ffmpeg

全部标签

c# - log4net编译时没有通过校验

https://github.com/apache/log4net我正在从上面的源代码编译log4net,但是没有通过验证:[IL]:Error:[log4net.dll:log4net.Plugin.RemoteLoggingServerPlugin::Attach][offset0x00000029]Methodisnotvisible.代码没问题:publicinterfaceILoggerRepository{...}publicinterfaceIPlugin{voidAttach(ILoggerRepositoryrepository);}publicabstractcla

c# - Visual Studio 2015/C# 6/Roslyn 无法编译 PCL 项目中的 XML 注释

我刚刚安装了最新发布的VisualStudio2015社区版(RTM),我正在尝试获取myopensourceproject在VS2015和C#6.0下工作。我的一些.cs跨项目共享。这样我就可以构建PCL版本(功能有限)和核心库的“完整”版本。然而,出于某种原因,某些代码文件在完整项目中构建正确,但在PCL项目中构建时失败(所有内容均在C#5和VisualStudio2013下编译)。构建PCL版本时,编译器似乎无法解析XML注释中的cref。这是一个在我的机器上失败的简化代码示例:///publicclassA{//Compileerroronnextline:///.public

c# - JIT 编译器的 IL 优化

我正在开发一个发出IL代码的编译器。重要的是,生成的IL由Mono和Microsoft.NETJIT编译器JIT为尽可能最快的机器代码。我的问题是:优化以下模式是否有意义:'stloc.0;ldloc.0;ret'=>'ret''ldc.i4.0;conv.r8'=>'ldc.r8.0'等等,或者JIT是否足够聪明来处理这些?是否有包含Microsoft/MonoJIT编译器执行的优化列表的规范?是否有任何关于优化IL的实用建议/最佳实践的好读物,以便JIT编译器可以反过来生成最佳机器代码(性能方面)? 最佳答案 您描述的两种模式是

c# - 如何用命令行编译WPF程序?

我需要使用命令行C#编译器(即csc.exe)编译我使用VisualStudio编写的简单WPF应用程序。问题是错误CS0103—编译器说我的程序中没有InitializeComponent()方法。但这是错误的,因为我添加了System.Xaml.dll。有人知道如何解决这个问题吗? 最佳答案 使用MSBuild进行构建比使用csc.exe更容易。获取正确MSBuild(PathtoMSBuild)的路径,因为您的计算机上可以有多个MSBuild版本,大多数情况下每个VisualStudio安装一个。然后,只需构建您的项目文件:m

c# - 这是 C# 4.0 编译器可选参数错误吗?

我正在编写自定义安全属性并出现奇怪的编译器行为...当我在同一个文件中使用该属性时,默认参数值工作正常:usingSystem.Security.Permissions;[System.Serializable]sealedclassFooAttribute:CodeAccessSecurityAttribute{publicFooAttribute(SecurityActionaction=SecurityAction.Demand):base(action){}publicoverrideSystem.Security.IPermissionCreatePermission(){r

c# - 编译 lambda 表达式会产生带有 Closure 参数的委托(delegate)

当我使用Expression.Lambda(...).Compile()时为了从表达式树创建委托(delegate),结果是第一个参数为Closure的委托(delegate).publicstaticFuncCreateTest(){ParameterExpressiona=Expression.Parameter(typeof(T));ParameterExpressionb=Expression.Parameter(typeof(T));Expressionaddition=Expression.Add(a,b);return(Func)Expression.Lambda(add

c# - 编译服务此请求所需的资源期间发生错误

这是什么意思?ServerErrorin'/'Application.CompilationErrorDescription:Anerroroccurredduringthecompilationofaresourcerequiredtoservicethisrequest.Pleasereviewthefollowingspecificerrordetailsandmodifyyoursourcecodeappropriately.CompilerErrorMessage:Thecompilerfailedwitherrorcode-1073741502.ShowDetailedCo

c# - .NET JIT 编译器可变优化

https://msdn.microsoft.com/en-us/magazine/jj883956.aspxConsiderthepollinglooppattern:privatebool_flag=true;publicvoidRun(){//Set_flagtofalseonanotherthreadnewThread(()=>{_flag=false;}).Start();//Pollthe_flagfielduntilitissettofalsewhile(_flag);//Theloopmightneverterminate!}Inthiscase,the.NET4.5J

c# - RazorEngine 取消缓存已编译的模板

目前,我正在使用RazorEnginev2.1作为发送模板化电子邮件(数千封)的后台进程的一部分。为了加快速度,模板以其md5和作为名称进行编译。这样一来,当模板更改时,它会被重新编译,并且使用该模板的所有电子邮件都能够使用相同的编译模板。我在列表中跟踪已编译模板的名称,以便我知道何时再次调用编译(并做一些其他事情)。问题:我突然想到,经过很长时间和大量模板修改后,所有这些缓存的编译模板可能仍然在内存中,因为它们看起来像是被存储了在动态中。对于这个可能一次运行数月而不重新启动的特定进程,如果所有以前版本的模板仍然存在,这可能会构成严重的内存泄漏。问题:有没有一种方法可以取消缓存旧模板,

c# - 使用 ClientBuildManager.CompileFile 就地编译

我正在开发一个网站,我想在该网站上使用就地编译,以便更快地获得首次点击。我想使用ClientBuildManager.CompileFile进行就地编译的方法,以便我可以控制编译过程。出于各种原因,这是编译该网站的理想方式。为什么IIS构建到“临时ASP.NET文件”下的不同子目录?当我通过ClientBuildManager按文件编译网站文件时.CompileFile为此目的构建的exe中的方法,输出转到“临时ASP.NET文件”下的子目录。但是,当网站稍后被访问时,IIS会在“TemporaryASP.NETFiles”下的不同子目录下重建控件,使之前的就地编译变得毫无值(valu