【nmake编译C#源码】教程文章相关的互联网学习教程文章

将C#编译为CGI

您如何将C#程序编译为CGI以在LAMP / Linux / Apache服务器的cgi-bin中运行?解决方法:不需要任何特殊操作-只需使用Mono的gmcs编译器正常编译应用程序即可. 有关集成的更多信息,请查看以下两个链接: http://www.mono-project.com/ASP.NET 这是专门为CGI设计的: http://www.mono-project.com/CGI

为什么用Expression.Compile()编译的代码比纯C#慢?

我重写了一种使用反射的方法以及使用System.Linq.Expressions类和Expression.Compile()方法的新代码. 不出所料,该程序比使用反射要快得多. 我还重写了普通C#中的相同方法进行比较,C#中的代码比用Expression.Compile()编译的代码快4倍.就我而言,该方法被循环调用数千次. 请注意,我从性能分析中取出了第一个调用,以确保不计算编译时间.所以我只编译一次表达式,然后调用它数千次. 为什么用Expression.Compile()编译的代码比纯C#慢?解...

首页> C#>如何检查与CodeDom编译之前的编译错误【代码】

我正在使用CodeDom允许自定义脚本(C#)在正在创建的应用程序中运行.在编写脚本时,我希望能够检查编译错误.该代码被添加到内存中,并在以后的很多时间编译并运行,因此我不希望在编写脚本时将程序集编译保留在内存中. 实现此目标的最佳方法是什么? 编译后是否可以从内存中删除程序集?private void Item_Click(object sender, EventArgs e) {List<string> assemblyNames = new List<string> { };List<string> code = new List<string>...

c#-具有get属性的vala界面-编译错误【代码】

我是Vala的新手,我正尝试将一些C#代码手动移植到vala中,我以一个简单的示例进行了测试. C#编码人员将下面的代码段识别为1-1映射到C#. 这是测试变量文件Universe.vala:namespace Universe {public interface Planet{string Name { get; }} }我收到编译错误:Universe.vala: error: property getter must have a body看来Vala不支持接口中的get(set)ter属性-还是我错过了什么?我该如何解决?解决方法:在Vala中,接口仍可以包含非抽象...

错误:“没有C#语言编译器”【代码】

我于2003年创建的ASP.NET/C#项目已经在大学服务器上运行了10多年,但是我刚刚得知服务器崩溃了,他们正在尝试重新设置一切. 他们收到以下错误. 我在底部看到似乎他们已经在Debian机器上安装了Mono.可能是他们安装了Mono,但却忘记了安装C#编译器,或者此消息是否暗示其他错误? 什么可能是此错误的原因和解决方案?解决方法:根据Mono中的BuildManager代码:if (configSection == null)config = WebConfigurationManager.GetWebApplicat...

C#使用“发布”选项进行编译【代码】

没什么好说的,所以我将简短.我一直在使用MonoDevelop IDE和“ dmcs”(又名“ mcs”),只要我一直在使用Linux.但是,这是我第一次考虑构建一个C#程序,该程序使用从命令行传递作为参数的输入,因此我想直接从Bash编译我的代码.编译器似乎默认情况下会生成调试版本,并且在用户要指定的情况下采用-debug选项,但是-release选项不存在.我可以从IDE的下拉菜单中选择Release | x86,但是我的代码将在我没有安装IDE的其他计算机上编译/运行,因此...

在C#中使用`dynamic`关键字无法编译【代码】

我正在尝试编译包含dynamic关键字的C#代码.(我需要此关键字来使用ironpython.)但是,它无法编译,抱怨error CS1980: Dynamic keyword requires `System.Runtime.CompilerServices.DynamicAttribute' to be defined. Are you missing System.Core.dll assembly reference?我使用的编译器是Mono JIT编译器版本2.10.8.1.我在可能的引用列表中没有System.Runtime.CompilerServices.DynamicAttribute. 如何使Mono接受dynamic关键字?解决...

c#-编译时的常量字段【代码】

有没有办法在c#中的编译时区分非常数字段和常数字段? 我目前正在开发c#代码分析(FxCop)规则,以检查开发人员的代码在命名方面的不一致. 我一直在寻找一种仅针对常量字段的方法.但是在编译时如何声明它们?是否有一个标志(我一直在研究“ HasDefault”,但这并没有给我太多信息). 我正在使用FxCop-API(FxCopSdk.dll& Microsoft.Cci.dll).不使用反射. 总结:如何使用Code Analysis(FxCop)区分非常数字段和常数字段,以及如何定位常数.解...

c#-基于编译器开关引用.NET程序集

我需要基于一些编译器开关(如#ifdirective)在c#项目中添加对另一个程序集的引用.例如,我只想在需要时在项目中添加对记录器DLL的引用.这可能吗?解决方法:据我所知,根本不使用的引用程序集不是问题.您甚至可以保留它作为参考. 只要您的代码不触发程序集的加载,就不需要该文件可用. 我建议您检查是否确实需要此功能,以及是否可以通过创建接口并动态加载程序集(使用Assembly.LoadFrom)来解决此问题.

c#-用Mono编译IronPython【代码】

当我尝试在具有Mono(3.12)的Debian上安装IronPython时,出现以下错误:socket.cs(1900,63): error CS0117: `System.Net.Sockets.SocketOptionName' does not contain a definition for `IPv6Only'我怎么解决这个问题?根据the IronPython website,所有内容均应编译无误. 在Mono邮件列表中,有already such a bug,但是此错误没有答案.因此,我认为也许这个论坛是解决这个问题的一个好地方.解决方法:我不是IronPython或Mono的专家,但是出...

编译器无法识别System.Runtime.Serialization.DataContractSerializer C#

我尝试使用System.Runtime.Serialization.DataContractSerializer,但出现编译器错误:“The type or namespace ‘DataContractSerializer’ does not exist in the namespace ‘System.Runtime.Serialization’ “是什么导致此错误?解决方法:在您的项目中添加对System.Runtime.Serialization程序集的引用.

c#-dotnet测试-测试项目未编译时退出代码0【代码】

我正在使用TeamCity构建我的.NET Core项目,并使用xunit进行dotnet测试以运行测试. 我的构建被配置为在任何测试失败的情况下失败,并且在测试失败的情况下可以正常工作,但是当测试项目未编译时,退出代码最终为零. 我相信这是因为我在包含这样的测试目录的文件夹中运行了dotnet test:对于(‘dir / b / s project.json’)中的/ f %%% a进行dotnet test %%% a. 查看日志,可以看到未编译的单个作业的退出代码为1,而构建步骤本身的退出代...

c#-已编译的Azure功能监视:“无可用数据”

我在Azure上使用了几个已编译的C#函数.它们按预期方式工作,但是当我在两个功能中单击“显示器”时,它只会显示“无可用数据”. 我可以在“开发”选项卡的日志中看到该功能正在运行,但是想要对该功能的使用情况进行概述. 我有什么想念的吗?解决方法:我们相信在主机文件中设置显式主机ID时发现了一个问题,这很可能是导致问题的原因. 我们正在跟踪here这个问题,并将在取得进展时对其进行更新. 解决方法是,请从host.json文件中删除ID.

C#-UInt奇怪的编译时行为-返回Long.【代码】

以下代码显示了UInt32:var myUint = 1U; Console.WriteLine(myUint.GetType().Name);按照this SO的答案,我想看看如果您尝试使用带有编译时负数的U文字后缀,将会发生什么.此代码(将1U更改为-1U)将打印Int64(长整数):var myUint = -1U; Console.WriteLine(myUint.GetType().Name);我以为这只是编译时错误,但返回的值是-1的long-这是怎么回事?为什么编译器会这样做?解决方法:减号不是整数文字说明的一部分.因此,当您编写var x = -...

C#-了解编译器优化【代码】

我试图了解编译器对非常简单的代码做了什么:if (group.ImageHeight > 1 && group.ImageWidth > 1) { //No code exists between the braces }在Debug配置中进行编译后,然后进行反编译,我将看到以下内容:if (group.ImageHeight <= 1 || group.ImageWidth <= 1);反编译发布配置会导致if (group.ImageHeight > 1) {int imageWidth = group.ImageWidth; }更完整的(原始)代码:public class Group {public int ImageHeight { get; set...