草庐IT

cmake编译

全部标签

c# - 打开 Visual Studio 2012 时编译时间变慢

大家下午好我有一个很奇怪的问题。打开VS2012时,编译时间非常慢。当通过VS和/或直接从命令行通过csc.exe构建时,会出现这种缓慢的编译时间。测试:创建一个包含以下项目的文件夹:批处理文件(compile.bat)包含:echo%time%csc/target:libraryclass1.csecho%time%和一个class1.cs包含:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceClassL

c# - 编译时常量差异

更新:这似乎是一个编译器转移注意力的问题,因为以下内容实际上是有效的:constintMyInt=default(int);问题在于DateTime不是有效的const,而不是default的使用。让我感到困惑的主要原因是没有意识到default(DateTime)是在可选参数中专门处理的(而且我得出了一个错误的结论,即default(DateTime)由于错误消息忽略了其他可能的条件而被视为编译时常量)。MarcinJuraszek在他的回答中解决了这个问题。原始问题:这是无耻地从MarcGravell来自thisanswer的评论中撕下的另一个问题。为什么以下内容有效://Noco

c# - 使用编译时编织的依赖注入(inject)?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。7年前关闭。Improvethisquestion我只是想了解PostSharp,老实说,我认为它很棒。但是有一点对我来说很难实现纯依赖注入(inject)(不是服务定位器)cannotbedone在PostSharp方面,也许在我的理解中是编译时编织的结果。来自PHP背景,Symfony有JMSAopBundle这仍然允许将依赖项注入(inject)它的拦截器。.Net是否有一些具有相同功能的库?或者我在PostSharp中遗漏了什么

c# - 编译错误。将属性与结构一起使用

请解释结构构造函数的以下错误。如果我将结构更改为类错误消失了。publicstructDealImportRequest{publicDealRequestBaseDealReq{get;set;}publicintImportRetryCounter{get;set;}publicDealImportRequest(DealRequestBasedrb){DealReq=drb;ImportRetryCounter=0;}}错误CS0188:“this”对象在其所有字段都分配给之前无法使用错误CS0843:自动实现属性的支持字段“DealImportRequest.DealReq”必

以单声道编译的 C# - 检测操作系统

我正在尝试让一个C#应用程序在OSX下运行,这并不是完全没有痛苦。为了在短期内解决一些问题,我正在考虑在OSX中运行时设置一些特定的规则。但是...我可以使用什么来确定应用程序是在Windows还是OSX下运行? 最佳答案 来自Monowiki(根据我的经验,OSX被识别为Unix):intp=(int)Environment.OSVersion.Platform;if((p==4)||(p==128)){Console.WriteLine("RunningonUnix");}else{Console.WriteLine("NOTr

c# - 了解 dotPeek 反编译代码中编译器生成的类型

嘿嘿。我正在阅读DigiTrafficAccelerator的反编译源码(我认为这是最好的学习方式),直到我得到了一些看不懂的代码!请看一下:internalclassProxyFarm{privatestaticRandomrand=newRandom();privatestaticRegexUserPassAtHostPort=newRegex("\r\n^\r\n(?[^:]+?):(?[^@]+?)\r\n@\r\n(?[^:]+?(?::\\d+)?)\r\n$",RegexOptions.IgnorePatternWhitespace);privatestaticRegex

c# - 如何强制 MSBuild 在不重新编译的情况下运行代码分析

默认情况下,代码分析仅针对已编译的项目进行。因此,当我从命令行运行MSBuild时,它仅在第一次运行代码分析。在后续调用中,将跳过代码分析。背景:我想评估CA规则,看看在启用规则时我们的代码中会有多少警告。为此,我不想重新编译所有内容——这需要一些时间——只是重新运行代码分析。你如何才能做到这一点?我正在使用VisualStudio2013和MSBuild12.0。即使明确打开代码分析也无济于事:msbuildDesktopBuild.proj/p:RunCodeAnalysis=true 最佳答案 好像是del/s*.lastco

c# - 如果字段的顺序不同,为什么编译器会为匿名类型生成不同的类

我考虑过两种情况:vara=new{a=5};varb=new{a=6};Console.WriteLine(a.GetType()==b.GetType());//TrueIdeone:http://ideone.com/F8QwHY和:vara=new{a=5,b=7};varb=new{b=7,a=6};Console.WriteLine(a.GetType()==b.GetType());//FalseIdeone:http://ideone.com/hDTcxX问题是为什么字段顺序真的很重要?这是否有任何原因,或者仅仅是因为它是(这就是设计)。如果原因只是匿名类型不应该以这种

c# - .NET 属性生成 "must declare a body because it is not marked abstract or extern"编译错误

我有一个.NET3.5(目标框架)网络应用程序。我有一些看起来像这样的代码:publicstringLogPath{get;privateset;}publicstringErrorMsg{get;privateset;}它给我这些行的编译错误:"mustdeclareabodybecauseitisnotmarkedabstractorextern."有什么想法吗?我的理解是这种风格的属性在.NET3.0中是有效的。谢谢!原来问题出在我的.sln文件本身。尽管我在构建选项中更改了目标版本,但在.sln文件中,我发现了这一点:TargetFramework="3.0"将其更改为“3.5

c# - 如何使用 ngen.exe 编译以及如何运行生成的 native 代码?

我想为特殊目的使用ngen命令行编译C#程序。所以我在VS2010中创建了一个控制台应用程序并将其命名为ngentest。在vs2010\projects\ngentest\bin\debug中创建名为ngentest.vshost.exe的文件。我在VS2010命令提示符中使用此文件作为ngen命令参数,如下所示:ngen"c:\documents\vs2010\projects\ngentest\bin\debug\ngentest.vshost.exe"但是当我这样做时,我无法收到PublicKeyToken并且我在任何地方都找不到任何程序集!如果创建了我的程序集,它在哪里?我怎