【c# – 在编译时计算表达式】教程文章相关的互联网学习教程文章

c# – .NET Core上的Roslyn Scripting API:为什么编译器会抱怨“错误CS1501:WriteLine没有重载需要2个参数”?【代码】

我正在开发一个针对OSX的netcoreapp1.0项目,我正在使用Roslyn设置一个脚本,如下所示:var scriptText = File.ReadAllText(args[0]);var scriptOptions = ScriptOptions.Default.WithReferences(typeof(System.Object).GetTypeInfo().Assembly);var script = CSharpScript.Create(scriptText, scriptOptions, typeof(Globals));var scriptArgs = new string[args.Length-1]; Array.Copy(args, 1, scriptArgs, 0, args.Length-1);scr...

反编译C#的dll文件并修改,再重新生成dll

?1、把dll文件导入到ildasm工具中,ildasm是由微软提供的.net程序反编译工具,位于“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin”2、在ildasm中File->dump,把dll文件转储为*.il文件存到某个指定文件夹里,得到*.il和*.res两个文件,有时也会有*.resource文件3、打开得到的*.il文件,找到对应的方法,进行修改(如果修改的代码太多,那则需要先学习一下“C#反编译之IL语法”),具体情况具体分析,修改之后保存。4、打开DOS...

C# 篇基础知识一编译

编译:C#语言要经过两次编译,程序员编写好源代码后进行第一次编译,将源代码编译为微软中间语言(MSIL),生成可以发布的应用软件;当用户使用软件时,MSIL代码会在首次载入内存后进行第二次编译,中间语言被编译为机器语言,以供计算机执行。对于同一段MSIL代码,第二次编译只在代码首次载入内存时发生,编译结果被暂时保存起来,以供重复利用。并且第二次编译是按需编译的,即用到那段就编译那段,不用到的不编译,所以这种需要...

【基础层】##编程##笔记##C## Chapter_10:编译预处理

10.1 宏定义 #define 标识符 字符串 标识符(也叫宏名) 一般用大写字母表示 字符串(也叫宏体)可以是常量,关键字,语句,表达式或者空白等分为两类: 不带参数的宏和带参数的宏#define PI 3.14159void main() {//PI有效 } #undef //结束PI的作用void func1() {//PI无效 }10.2 文件包含 #include “文件名" 和 #include <文件名>10.3 条件编译 三种,主要用于程序的移植和调试#if 表达式程序段 #else程序段 #endif#ifdef 宏名程...

C# 中的#if、#elif、#else、#endif等条件编译符号 (转载)【代码】

这些是C#中的条件编译符号。这些指令我在项目中遇到过,查过网络,问过人(当然,既不认识大牛,也不认识小牛,所以没什么收获)。今天翻看一本资料,有提到这个方面的东西,所以写下来和能看到这篇文章的人一起学习。 C#中的#define预处理指令不能定义替换常数。该指令现在只能定义用于条件编译的符号,为#if、#elif、#else及#endif所用。 源文件在进行编译之前要进行一次文件处理,这是由预处理器完成的。这种文件处理只对源文...

c# 动态编译继承接口

c#里面的动态编译我就不讲了,主要的都有了。如果不熟悉我推荐博文 https://www.cnblogs.com/maguoyong/articles/5553827.html 标准的动态编译 这里主要是为了提供一个应用思路。以我的例子为准。 描述了一个接口,一个接口库。在服务端使用,在客户端调用。一般第三方的组件会怎么办? 提供一个编译工具,实现通信接口,然后自己编写方法。这里我用动态编译实现。 封装一个类,一个创建对象的泛型方法,方法传入接口类。 所有方法...

VS2017编译GDAL(64bit)+解决C#读取Shp数据中文路径的问题【图】

编译GDAL过程比较繁琐,查阅了网上相关资料,同时通过实践,完成GDAL的编译,同时解决了SHP数据中文路径及中文字段乱码的问题,本文以“gdal-2.3.2”版本为例阐述整个编译过程。 一、编译准备 1、编译工具是VS2017,编译前需要下载“gdal-2.3.2”和“swigwin-3.0.12”,下载链接如下:GDAL:http://trac.osgeo.org/gdal/wiki/DownloadSource swigwin:https://sourceforge.net/projects/swig/files/swigwin/2、在“D盘”新建目录“...

C#MySQL-反编译显示我的SQL连接字符串

我已经制作了一个程序,当我用免费软件程序(CodeReflect)对其进行反编译时,我能够看到我的mysql连接字符串.有办法避免这种情况吗?提前致谢.解决方法:是.您需要有一个配置文件,例如appFile.config未版本化.它应该是未编译到项目中的配置文件.

c#-在Windows Phone中的动画上编译错误【代码】

我是Windows Phone动画的新手,并使用以下代码,但它给了我编译错误: ‘System.Windows.Controls.Button’不包含’BeginAnimation’的定义,并且找不到扩展方法’BeginAnimation’接受类型为’System.Windows.Controls.Button’的第一个参数(您是否缺少using指令?或装配参考?) 我缺少哪个参考?using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows...

C#-在运行时编译代码并使用加载到内存中的程序集【代码】

我需要在运行时编译C#代码.我正在使用这样的代码:CSharpCodeProvider provider = new CSharpCodeProvider(); CompilerParameters parameters = new CompilerParameters(); parameters.ReferencedAssemblies.Add("MyLibrary.dll"); // File Path on Hard Drive ...但是我想使用加载到内存中的库而不是它们的文件地址.可能吗?解决方法:如果它不是仅在内存中生成的程序集,则可以使用:parameters.ReferencedAssemblies.Add ( typ...

c# – 如何在Windows机器上编译Linux的.NET Core应用程序【代码】

我正在Windows 10计算机上开发.NET Core应用程序(使用Visual Studio 2015更新3 Microsoft .NET Core 1.0.1 VS 2015工具预览2),该应用程序应在Ubuntu 16计算机上发布.要做到这一点,我必须将我的源代码移动到最终机器并在那里编译,以使其运行.例如我无法在Windows上编译代码并在linux上运行它.问题:有没有办法在win机器上编译代码并在linux上运行它?解决方法:使用dotnet build命令,您可以指定–runtime标志-r|–runtime < RUNTIME_...

c# – 性能:在VS中编译,在Windows和Linux上以Mono运行

我有以下问题: >是否可以使用VS.NET编译C#项目,并在单声道上运行它?>方法1是否有任何性能优势(使用单声道编译器进行编译)?>在linux上运行输出.exe / .dll怎么样?什么是相关的性能特征? 谢谢解决方法:>是的,你可以这样做.它应该工作,除非代码使用一些未在mono上实现的框架元素.>不是我知道的.>不确定#3和#1之间的区别是什么.如果你指的是在Windows上使用mono进行编译,然后将其移植到linux,它应该仍然可以正常工作.两个编译器生...

c# – 新的Windows Phone 8应用程序无法编译 – 缺少程序集XamlServicesWP

我最近在我的机器上安装了Windows Phone 8 SDK.我尝试创建一个新的Windows Phone Silverlight应用程序但它总是无法构建.这是我得到的错误:The “CompileXaml” task failed unexpectedly.System.IO.FileNotFoundException: Could not load file or assembly‘XamlServicesWP, Version=11.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. Thesystem cannot find the file specified. File ...

c# – 使用Mono编译器/创建一个新的仍在输出Windows EXE?

这只是一个想法,但是我想知道在使用Mono编译器还是在输出Windows EXE的同时写一个新编译器有多难? 这种想法的原因在于我看到人们“创造性地”滥用C#语言以获得诸如代码合同或面向方面的编程之类的东西,并且有时感觉人们伸展得太远了. 关于.net的好处是,最后,我们想要的只是.net 2.0 CLR的有效IL.但是,Microsoft C#编译器已关闭,无法扩展.只能在不同的程序集中混合使用不同的语言. 这个想法(警告:可能听起来很可怕)是使用可以扩展...

c# – Roslyn – CodeDom:HowTo动态编译Code到Universal-Windows-Library【代码】

我正在生成一个动态包含WPF项目包装类的.NET Dll.我正在使用System.CodeDom.Compiler.CodeDomProvider类. 现在我必须为Universal-Windows-Dll创建一个包装类.由于System.CodeDom.Compiler.CodeDomProvider类仍然使用旧的.NET编译器,我不得不切换到新的Roslyn编译器(通过添加Nuget包Microsoft.CodeDom.Providers.DotNetCompilerPlatform).然后我用新的CSharpCodeProvider替换了code-dom-Provider的实例化.new Microsoft.CodeDom.Pro...