批处理-通过mono把c#编译成dll】的更多相关文章

::copyright@cjy @echo off ::mcs.exe address set addrMcs=D:\Program Files\Unity\Editor\Data\MonoBleedingEdge\lib\mono\4.5 ::UnityEngine.dll address set addrUEdll=D:\UnityEngine.dll ::source c# file address set addrscript=D:\unity_proj\motion1\Assets\S…
Unity 代码编译成dll 更新dll实现热更代码 实现流程 代码编译成DLL DLL打包成AssetBundle 加载AssetBundle 加载代码程序集 获取指定类 使用反射赋值 C#代码编译成DLL 使用VS创建类库项目 模版->Visual C#-> .NET Framework 3.5-> 类库 名称即为DLL名字(反射的时候要用) 引用两个Unity相关DLL(防止编译报错) 右键项目->添加->引用 在引用管理器窗口->浏览->dll路径 Uni…
比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装了.NET Framework并把csc.exe加入了环境变量(参考我的另一篇文章"C#.NET 如何在系统变量中加入新的环境变量.doc")   除了编译成dll,你还可以用下面的命令编译成别的类型文件: /out:<file> 输出文件名(默认值: 包含主类的文件或第一个文…
Web开发中常常会有跨页面.跨站点.跨项目组的复用模块(界面),最常见的就是如下方所示的Web页面上用于显示登录或用户名的头部模块, 使用ASP.NET MVC开发中,常见的做法是写成部分视图,本文的目的则是进一步将这部分视图预编译成DLL, 这样就可以不直接暴露源码的提供复用组件,适合跨项目组的协作开发. 技术点 Razor Generator(Razor单文件生产器) RazorGenerator.Mvc(Razor视图预编译引擎) 步骤一:安装拓展,项目准备 首先,为VS安装Razor G…
golang 编译 dll 过程中需要用到 gcc,所以先安装 MinGW. windows 64 位系统应下载 MinGW 的 64 位版本: https://sourceforge.net/projects/mingw-w64/ 下载后运行 mingw-w64-install.exe,完成 MingGW 的安装. 首先撰写 golang 程序 exportgo.go: package main import "C" import "fmt" //export P…
上一章博客我为大家介绍了Process类的所有基本使用方法,这一章博客我来为大家做一个小扩展,来熟悉一下Process类的实际使用,废话不多说我们开始演示. 先看看我们的软件要设计成的布局吧. 首先我们需要给定会使用到的dll,记得vs中的引用那一项吗?我们虽然不需要将这里面的引用全部导入进来,但是我们需要将我们使用过的dll全部导入进来,不然编译时会提示找不到类方法之类的. 可能有些同学不知道怎么查看一个类或者方法所在的dll,其实只用对着那个方法或者类按下f12就能在打开的文档的正上方看到所…
比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装了.NET Framework并把csc.exe加入了环境变量(参考我的另一篇文章"C#.NET 如何在系统变量中加入新的环境变量.doc")   除了编译成dll,你还可以用下面的命令编译成别的类型文件: /out:<file> 输出文件名(默认值: 包含主类的文件或第一个文…
Go 程序编译成 DLL 供 C# 调用. C# 结合 Golang 开发   1. 实现方式与语法形式 基本方式:将 Go 程序编译成 DLL 供 C# 调用. 1.1 Go代码 注意:代码中 export 的注释是定义的入口描述不能省略 package main import "C" import "fmt" func main() { fmt.Println(Test()) } var _count = 0 //Test : //export Test fun…
Golang调用windows下的dll动态库中的函数 package main import ( "fmt" "syscall" "time" "unsafe" ) const ( MB_OK = 0x00000000 MB_OKCANCEL = 0x00000001 MB_ABORTRETRYIGNORE = 0x00000002 MB_YESNOCANCEL = 0x00000003 MB_YESNO = 0x00000…
首先c语言在开始要加上 #ifdef __cplusplus extern "C" { #endif …被导出的方法名称 #ifdef __cplusplus } #endif 不然系统会将起当做c++,转成的dll中的方法名称会被转义.在实现的方法名称前面加上__declspec(dllexport) 1.    Gcc:gcc –shared -o xxxx.dll xxxx.c 可以直接将.c文件转成dll文件.在实际引用中,我是将所有的#include都是放在.c文件中的,上述…
1 新建一个类库项目   2 直接改写这个Class1.cs文件   3 记得要添加Windows.Forms引用   4 我直接把在别的项目中做好的cs文件搞到这里来,连文件名也改了(FilesDirectory.cs),这里using System.Windows.Forms不会报错,因为前面已经添加引用了.   5 右击项目,在属性中可以修改生成dll的名称.   6 按F6进行编译,得到dll文件.   7 切记你自己写的类前面要有public,否则后面使用的时候会报错说访问受保护.  …
1 新建一个类库项目   2 直接改写这个Class1.cs文件   3 记得要添加Windows.Forms引用   4 我直接把在别的项目中做好的cs文件搞到这里来,连文件名也改了(FilesDirectory.cs),这里using System.Windows.Forms不会报错,因为前面已经添加引用了.   5 右击项目,在属性中可以修改生成dll的名称.   6 按F6进行编译,得到dll文件.   7 切记你自己写的类前面要有public,否则后面使用的时候会报错说访问受保护.  …
一 编译dll 在Command Window窗口中输入mbuild -setup,然后会出现语句,是否安装编译器,选择n,因为机子上已经安装了C/C++/C#的编译器,选择VS2010.…
开始--程序--Microsoft Visual Studio.NET 2013--Visual Studio.NET工具,点击其中的"VS2013 开发人员命令提示",就会进入Microsoft Visual Studio.NET 2013命令提示窗口, 输入命令: csc /out:d:\test\test.dll /t:library d:\test\test.cs 回车,就会在test目录下生成test.dll文件 但是如果这个cs文件引用了bin目录下的另外一个dll文件如c…
csc /t:library  /out:F:\Provider.dll /r:F:\BPM.dll /r:F:\BPM.Server.dll F:\Provider.cs…
前段时间编译了一下Unity的Mono,看了很多相关的文章,也遇到很多新坑.所以来总结一下,加深自己对Mono的理解 为什么Unity可以跨平台运行呢 通常Unity的脚本有C#.JS.Boo.不过现在官方都只推荐使用C#了,为什么Unity可以支持用不同的语言编写代码呢?因为它使用了一种叫CIL的中间语言,C#.JS.Boo最终会被编译成一种叫IL的中间语言,然后通过Mono运行时编译成原生代码运行. 什么是Mono JIT JIT就是及时编译(just in time),能把IL及时编译成原…
Unity插件分为两种:托管插件(Managed Plugins)和本地插件(Native Plugins).本文先来说说Unity中的托管插件,本地插件的文章留到下一篇文章再说. 有时候我们会有这样的需求:给第三方公司提供Unity插件,而又不希望第三方看到具体代码,这时就可以将核心代码编译成dll文件供第三方调用.或者说,同一个公司多个项目都用到某个模块,则可以把该模块封装成dll,方便在不同项目之间共用和维护. 关于dll加密的问题,以后有机会了可以考虑写点东西分享出来. 一.创建DLL…
C++程序编译为C#可调用的dll的过程: 1.新建一个Win32 Console Application 项目,项目名为:DLLDemo,下一步选择Application type为DLL; 2.在Source Files文件夹的DLLDemo.cpp文件中加入代码: extern "C" _declspec(dllexport) int Add(int a,int b){ return a+b; } 这个函数将在C#中调用. 3.build项目. 会在D:\\visualStudi…
先申明一下这样做是有需要的.当我们需要把脚本提供给第三方使用,而又不希望对方看到具体的实现过程,这时候就需要将代码封装编译成dll文件,供第三方调用.或是多个项目都要用到同一个模块或同样的功能,则可以把该模块或是功能编译成dll,方便复用和维护. 一.先介绍使用MonoDevelop编译器,具体做法如下: 1.打开MonoDevelop,新建项目 填写项目名称和项目路径(项目名称的命名中不要有下划线这些特殊字符,否则可能会报错): 2.view—visual Design窗口,Reference…
很多时候,我们需要将.cs文件单独编译成.dll文件,这就需要使用csc命令将.cs文件编译成.dll动态链接库文件.具体的操作步骤如下: 打开命令窗口->输入cmd到控制台->cd C:WINDOWSMicrosoft.NETFrameworkv1.1.4322 转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:WINDOWSMicrosoft.NETFra…
方法一:用vs新建工程-C#库,添加UnityEngine.dll引用,注意.netframwork选3.5,编译C#脚本得到dll: 方法二:使用mono的mcs,具体如下 c#提供了dll打包,但是unity中由于涉及到unity的自身dll,如UnityEngine.dll,我们一般写的很多代码都会涉及到对这个dll的引用,在unity中建代码文件都会默认添加对此dll命名空间的使用,using UnityEngine; 因此在涉及到使用此dll在打包dll的时候就要有点特殊处理. 项目中…
下图展示了编译源代码文件的过程.如图所示,可用支持 CLR 的任何一种语言创建源代码文件.然后,用一个对应的编译器检查语法和分析源代码.无论选用哪一个编译器,结果都是一个托管模块(managedmodule).托管模块是一个标准的 32 位 Microsoft Windows 可移植执行体(PE32)文件 6 ,或者是一个标准的 64 位Windows 可移植执行体(PE32+)文件,它们都需要 CLR 才能执行.顺便说一句,托管的程序集总是利用了 Windows 的数据执行保护(Data Ex…
 1.从“文件”菜单中,选择“新建”,然后选择“项目…”. 2.从“项目类型”窗格中选择“Visual C++”下的“Win32”. 3.从“模板”窗格中,选择“Win32 控制台应用程序”. 4.为项目选择一个名称,如“MathFuncsDll”,并将其输入“名称”字段.为解决方案选择一个名称,如“DynamicLibrary”,并将其输入“解决方案名称”字段. 5.按“确定”启动 Win32 应用程序向导.在“Win32 应用程序向导”对话框的“概述”页中,按“下一步”. 6.从“Win32…
用IKVMC将jar转成dll供c#调用 ikvmc c# dll jar 用IKVMC将jar转成dll供c#调用 前言 ikvmc介绍 ikvmc下载安装 下载并解压 设置环境变量 jar->dll 常用参数说明 具体操作 解决方案 前言 实习到现在所需要的工具类给的都是jar包,但是我需要在.net环境下去实现,如果重新下的话回合那麻烦,因此如果能将c#能够调用jar那就太棒了 ikvmc介绍 IKVMC可以将jar转成dll,到现在为止已经成功转换3个jar为dll,期间碰壁无数,在此写…
我用C#调用C编译的dll中有这样一个函数,函数大概的功能就是把数据保存到buf缓冲区中: C/C++ code   ? 1 int retrieve(int scanno,void* buf); 在C中是通过先定义一个结构体再调用这个函数的: C/C++ code   ? 1 2 3 4 5 6 7 8 9 10 #define    COUNT_DIMENSION_MAX 256    typedef struct tagVECTOR_st    {                    i…
最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考. PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地方使用任何语言来调用这个DLL,不是那种在qt creator里面建一个dll工程,然后再在qt creator里建一个调用该dll的工程的情况(这种示例可参考该链接http://download.c…
原文:[CLR via C#]1.1 将源代码编译成托管代码 1. 公共语言运行时(Common Language Runtime,CLR)是一种可由多种编程语言使用的"运行时". 2. CLR的核心功能(比如内存管理,程序集加载.安全性.异常处理和线程同步等)可由面向CLR的所有语言使用. 3. 用一个对应的编译器编译源代码之后,结果都是一个托管模块. 4. 托管模块是一个标准的32/64位Microsoft Windows 可移植执行体(PE32/PE32+)文件,它们都需要CLR…
来源:http://www.veryhuo.com/a/view/38338.html 今天想把 perl 脚本编译成 exe 以便脱离 perl 解释器独立运行.都可以生成PERL的PE文件,在PERL官网有介绍. perl脚本编译成exe 一般有4种方法: 1. 使用 perl2exe 工具(需要购买,当然也有破解版或绿色版,不过网上只找到5.0版本的,而我的是5.12版本,版本太低所以不能使用) exe文件体积大 运行慢 2. 使用 ActiveState 公司的 Perl Dev Kit…
背景:前几天在项目开发的时候遇到一个问题,那就是利用myeclipse编写好的一个项目打包成jar包后上传部署到服务器里,之后本地的项目被自己改来改去出现了一些问题,想着把上传到服务器里面的war包下载下来重新利用,大家都知道,war包里面的内容解压下来后java文件已经被编译成class文件了,期初用的是一款名为"jd-gui"的工具来反编译,这个很方便,不过缺点是只能一个一个的进行编译,很费时间,不能批处理.于是经过度娘与自己的摸索,利用jad完全可以做到(上面不重要,下面才是重点…
string code = null; // 1. 生成要编译的代码.(示例为了简单直接从程序集内的资源中读取) Stream stram = typeof(CodeDOM).Assembly .GetManifestResourceStream("TestOptimizeReflection.用户手册.txt"); using( StreamReader sr = new StreamReader(stram) ) { code = sr.ReadToEnd(); } //Conso…