• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 使用.NET命令行编译器编译项目(如ASP.NET、C#等)

使用.NET命令行编译器编译项目(如ASP.NET、C#等)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了反编译asp.net,.net 反编译工具,.net 反编译,vb.net反编译,.net反编译软件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

源程序最好有.csproj或.vbproj文件,没有的话,要花些时间调试
下面我以VB.NET做示例讲解一下:
  
从proj我们可以获取以下有用信息
  
Settings小节中有很多配置选项,对应一些编译器选项
<References>小节中是项目的引用,第3方类库最好用绝对路径
<Imports>小节中是要导入的一些命名空间
<Files>小节中有项目的所有文件,选取 BuildAction = "Compile"的文件
  
用vbc测试了一下,很容易,注意以下几项:
rootnamespace
reference
target
imports
  
加上bugreport可以将所有的源文件代码和bug报告输出。不错
  
给你一端编译示例:
vbc /r:System.dll /r:System.Data.dll /r:System.Drawing.dll /r:System.Web.dll /r:System.Xml.dll /r:bin\Microsoft.ApplicationBlocks.Data.dll /r:bin\ExportTechnologies.WebControls.RTE.dll /imports:Microsoft.VisualBasic /imports:System /imports:System.Collections /imports:System.Configuration /imports:System.Data /imports:System.Drawing /imports:System.Web /imports:System.Web.UI /imports:System.Web.UI.HtmlControls /imports:System.Web.UI.WebControls /imports:MMS /rootnamespace:MMS /t:library /out:Truly.MMS.dll /bugreport:bug.log AssemblyInfo.vb Global.asax.vb HDAdd.aspx.vb HDticketLogAdd.aspx.vb MIS.vb PageBase.vb Utils.vb
  
如果没有proj文件,那么可以用下面的命令获取:
dir /b *.vb > filelist.txt

csc的使用方法就靠你自己去琢磨了。这样编译出来的跟vs是有1点区别的,因为我们很多选项没有配置,但是经过测试,基本可以正常工作的。


-------------------------------------------------------------------------------------------------------

使用 C# 2.0 命令行编译器

http://msdn.microsoft.com/zh-cn/library/ms379563(vs.80).aspx#mainSection

摘要:本文分析了使用 C# 命令行编译器 csc.exe 生成应用程序的过程。同时,还将向读者介绍很多为 C# 2.0 独有的编译器选项,例如,extended/reference 标志和强名称支持。阅读完本文的内容之后,您将能够轻松地在没有向导的环境中生成单文件程序集和多文件程序集。

适用于:

Microsoft Visual C# 2.0

注 本文假定您熟悉 C# 编程语言和 .NET Framework 的结构。体验一下使用命令行工具的感觉还将证明很有帮助。

下载 CSCSample.msi 文件。

scsc.exe 带来的乐趣

几乎没有人会否认集成开发环境 (IDE)(例如,Visual Studio 2005 和 Visual C# Express 2005)所提供的能使编程工作变得相当简单的诸多功能。但是,实际上 IDE 自己通常不能提供对基础编译器的所有方面的访问。例如,Visual Studio 2005 不支持生成多文件程序集。

此外,了解在命令行编译代码的过程,对于具有以下特征的用户可能有用:

  • 偏爱最简单的生成 .NET Framework 应用程序的方法。

  • 希望揭开 IDE 处理源代码文件的方法的秘密。

  • 希望利用 .NET 生成实用工具,例如,nant 或 msbuild。

  • 没有集成开发环境,例如,Visual Studio(但实际上具有免费提供的 .NET Framework SDK)。

  • 正在基于 Unix的系统(在该系统中,命令行是必须使用的工具)上使用 .NET Framework,并且希望更好地了解 Mono 和/或 Portable .NET ECMA 兼容 C# 编译器。

  • 正在研究当前未集成到 Visual Studio 中的备选 .NET 编程语言。

  • 只是希望扩展他们的 C# 编程语言知识。

如果您属于上面所述的这些用户,那么就忠实于自己的选择并继续读下去吧。

C# 编译器选项概览

C# 编译器 csc.exe 提供了大量用于对创建 .NET 程序集的方式进行控制的选项。站在一个较高层次来看,命令行选项属于下列八个类别之一(表 1)。

表 1. csc.exe 提供的标记的类别

C# 编译器类别

定义

输出文件

用于控制所生成的程序集的格式、可选的 XML 文档文件和强名称信息的选项。

输入文件

使用户可以指定输入文件和引用的程序集的选项。

资源

用于将任何必需的资源(例如,图标和字符串表)嵌入到程序集中的选项。

代码生成

这些选项控制调试符号的生成。

错误和警告

控制编译器处理源代码错误/警告的方式。

语言

启用/禁用 C# 语言功能(例如,不安全代码)以及条件编译符号的定义。

杂项

该类别的最有趣的选项使您可以指定 csc.exe 响应文件。

高级

该类别指定一些更加深奥并且通常不太重要的编译器选项。

注 1.0 和 1.1 版本的 C# 编译器中存在的 /incremental 标志现在已过时。

在阅读本文的过程中,您将了解每个编译器类别中存在的核心 标志(最重要的词是核心)。对于大多数开发方案,可以安全地忽略 C# 编译器的很多高级选项。如果您需要有关本文未予讨论的 csc.exe 功能的详细信息,请尽管放心,您可以参阅 Microsoft Visual Studio 2005 文档帮助系统(只须从“Search”选项卡中搜索“csc.exe”并深入查阅)。

注 MSDN 文档也会对您也很所帮助,因为它描述了如何在 Visual Studio(如果可用)内部设置 csc.exe 的特定选项。

配置环境变量

在使用任何 .NET SDK 命令行工具(包括 C# 编译器)之前,需要配置开发计算机以识别它们的存在。最简单的方法是使用 Start | All Programs | Visual Studio 2005 | Visual Studio Tools 菜单选项,启动预配置的 Visual Studio 命令提示。这一特定的控制台能够自动初始化必要的

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET编译执行常见错误及解决方法汇总
  • asp.net 编译器错误信息: CS0006: 未能找到元数据文件 该死的.NET
  • 使用.NET命令行编译器编译项目(如ASP.NET、C#等)

相关文章

  • 2017-05-11asp.net实现拒绝频繁的IP访问的方法
  • 2018-08-20微信小程序基于腾讯云对象存储的图片上传功能
  • 2017-05-11一些.NET对多线程异常处理技巧分享
  • 2018-08-20.net WCF简单实例详解(5)
  • 2017-05-11微信公众平台开发之获得ACCESSTOKEN .Net代码解析
  • 2017-05-11Asp.Net 数据操作类(附通用数据基类)
  • 2017-05-11.NET微信公众号开发之查询自定义菜单
  • 2017-05-11CorFlags.exe检查.NET程序平台目标(Platform Target)的工具
  • 2017-05-11C#简单获取屏幕鼠标坐标点颜色方法介绍
  • 2017-05-11asp.net 无重复随机数代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 测试控制台使用方法
    • Asp.net MVC中获取控制器的名称的方法
    • ASP.NET(C#)中遍历所有控件
    • ASP.NET MVC从控制器传递数据到视图的四种方式详解
    • Asp.net mvc实时生成缩率图到硬盘
    • ASP.NET设计网络硬盘之文件夹实现
    • ASP .NET调用javascript中Response.Write和ClientScript.RegisterStartupScript的区别
    • 解决Visual Studio 2005 无法显示设计视图的方法
    • .net中线程同步的典型场景和问题剖析
    • Repeater控件分别绑定数组和ArrayList实现思路

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有