zoukankan      html  css  js  c++  java
  • cs文件编译成dll文件

     装了VS的话 可以直接编译(F5还是ctrl+f5忘了)

    如果没有VS用下面的办法
    搜索csc.exe

    打开cmd 转到csc.exe的文件夹
    运行
    csc /t:library   N:\NET\cs\*.cs  
    N:\NET\cs\*.cs  是你的cs文件的位置
     
     在VS.net的IDE环境下编译asp.net非常简单,按F5就可以编译了。项目的dll自动生成到项目文件夹下的bin目录。
       如果没有vs.net环境,只安装了.Net Framework,编译就要记相应的参数命令了。csc是编译命令,后面还可以跟许多参数,具体的,可以在命令行键入“csc /help”看到。
     
    正常情况下csc.exe的目录下会多个dll文件 copy出来

    asp.net程序是经过编译执行的,这个大家都知道,尤其是使用Codebehind的时候,必须先把背后的.cs文件编译形成.dll文件,然后才可以执行。这个过程,如果你有vs.net,那很轻松就可以完成,但如果没有,那就得借助命令行了。
    仔细查一下.net framework sdk文档,可以找到关于这个话题的详细说明,好象没有必要专门贴一篇文章,但是今下午我在用的时候却发现了一个问题,文档中说“运行VCVARS32.BAT”,但当你进入.net framework sdk的安装目录的bin文件夹下,却并没有发现VCVARS32.BAT文件,这个时候只能使用sdkvars.bat文件了,其实这个的作用应该是和那个“传说中的”VCVARS32.BAT相同。当你运行了sdkvars后,就可以使用先前“被封印的”csc命令了。
    然后就可以用csc命令编译.cs文件了,这个时候可能又会出现一个问题,按照大部分书上的说法,你只要指定了Inherits和Codebehind,并且用csc编译了那个背后的.cs,就可以运行这个aspx文件,但实际上并不是这样,错误提示为“找不到指定的类”。解决办法就是在根目录下建立一个bin文件夹,然后把编译产生的.dll文件放到里面去,这样问题应该就解决了。如果还是找不到,那问题可能是你的bin文件夹并不是在根目录最上面,而是在根目录下的某个文件夹里,这个时候你需要做的就是把它拖到最上面。
    下面给出命令行示例,这个其实在.net framework sdk文档里就可以找到,不过为了方便,还是复制了过来:

    编译 File.cs 以产生 File.exe:
    csc File.cs
    编译 File.cs 以产生 File.dll:
    csc /target:library File.cs
    编译 File.cs 并创建 My.exe:
    csc /out:My.exe File.cs
    通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件。输出为 File2.exe:
    csc /define:DEBUG /optimize /out:File2.exe *.cs
    编译当前目录中所有的 C# 文件,以产生 File2.dll 的调试版本。不显示任何徽标和警告:
    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
    将当前目录中所有的 C# 文件编译为 Something.xyz(一个 DLL):
    csc /target:library /out:Something.xyz *.cs

    编译 File.cs 以产生 File.dll: csc /target:library File.cs这个就是我们使用最多的一个命令,其实可以简单的写成csc /t:library File.cs,另外的一个写法是
    csc /out:mycodebehind.dll /t:library mycodebehind.cs,这个可以自己指定输出的文件名。
    csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,这个的作用是把两个cs文件装到一个.dll文件里,很有用哦。

  • 相关阅读:
    PostMan-NewMan运行参数
    shell脚本学习简单记录笔记
    android开发okhttp-4.9.1源码大致流程解读
    android开发获取键盘高度以及判断键盘是否显示(兼容分屏模式)
    Android开发The style on this component requires your app theme to be Theme.AppCompat (or a descendant)的解决方法
    Linux开发Ubuntu安装man手册
    Android开发源码解读四大组件源码解读简单梳理
    Android开发涉及到的AMS类和ActivityThread类源码解读
    Android开发为什么主线程可以一直运行而不会退出来
    前端CryptoJS加密、后端解密代码实现参考
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/1419601.html
Copyright © 2011-2022 走看看