zoukankan      html  css  js  c++  java
  • .net web程序的加密发布 aspnet_compiler

    方法很简单,运行Microsoft  .net Framework v2.0 sdk tools (.net的命令提示工具)运行如下代码:
    aspnet_compiler -v / -p E:\yourcomplacation -f D:\whereToPbulishCatgy -fixednames

    即可 ,其中:E:\yourcomplacation 为您开发的项目的文件夹绝对路径  
    D:\publishedCatgy 为发布到的文件夹路径



    //以下是参考

    早于 ASP.NET 2.0 版的 ASP.NET 版本中没有 ASP.NET 编译工具。
     


    aspnet_compiler  [
    -?]
                     [
    -m metabasePath | -v virtualPath [-p physicalPath]]
                     [[
    -u] [-f] [-d] [-fixednames] targetDir]
                     [
    -c]
                     [
    -errorstack]
                     [
    -nologo]
                     [[
    -keyfile file | -keycontainer container ] [-aptca] [-delaysign]]

     选项 
    选项
     说明
     
    -m metabasePath
     指定要编译的应用程序的完整 IIS 元数据库路径。IIS 元数据库是用于配置 IIS 的分层信息存储区。例如,默认 IIS 网站的元数据库路径是 LM
    /W3SVC/1/ROOT。

    此选项不能与 
    -v 选项或 -p 选项一起使用。
     
    -v virtualPath
     指定要编译的应用程序的虚拟路径。

    如果还指定了 
    -p,则使用伴随的 physicalPath 参数的值来定位要编译的应用程序。否则,将使用 IIS 元数据库,并且此工具假定源文件位于默认网站(在 LM/W3SVC/1/ROOT 元数据库节点中指定)中。

    此选项不能与 
    -m 选项一起使用。
     
    -p physicalPath
     指定包含要编译的应用程序的根目录的完整网络路径或完整本地磁盘路径。如果未指定 
    -p,则使用 IIS 元数据库来查找目录。

    此选项必须与 
    -v 选项一起使用,不能与 -m 选项一起使用。
     
    -
     指定 Aspnet_compiler.exe 应创建一个预编译的应用程序,该应用程序允许对内容(例如 .aspx 页)进行后续更新。

    如果省略该选项,生成的应用程序将仅包含编译的文件,而无法在部署服务器上进行更新。只能通过更改源标记文件并重新编译来更新应用程序。

    必须包括参数 targetDir。
     
    -
     指定该工具应该覆盖 targetDir 目录及其子目录中的现有文件。
     
    -
     重写应用程序源配置文件中定义的设置,强制在编译的应用程序中包括调试信息。否则,将不会发出调试输出。

    不能将 
    -d 选项用于就地编译;就地编译使用调试选项的配置设置。
     
    targetDir 
     将包含编译的应用程序的根目录的网络路径或本地磁盘路径。如果未包括 targetDir 参数,则就地编译应用程序。
     
    -
     指定应完全重新生成要编译的应用程序。已经编译的组件将重新进行编译。如果省略此选项,该工具将仅生成应用程序中自上次执行编译以来被修改的那些部分。
     
    -errorstack 
     指定该工具应在未能编译应用程序时包括堆栈跟踪信息。
     
    -keyfile file
     指定应该将 AssemblyKeyFileAttribute(指示包含用于生成强名称的公钥
    /私钥对的文件名)应用于编译好的程序集。

    此选项必须与 
    -aptca 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。
     
    -keycontainer container
     指定应该将 AssemblyKeyNameAttribute(指示用于生成强名称的公钥
    /私钥对的容器名)应用于编译好的程序集。

    此选项必须与 
    -aptca 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。
     
    -aptca 
     指定应该将 AllowPartiallyTrustedCallersAttribute(允许部分受信任的调用方访问程序集)应用于 Aspnet_compiler.exe 生成的具有强名称的程序集。

    此选项必须与 
    -keyfile 或 -keycontainer 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。
     
    -delaysign 
     指定应该将 AssemblyDelaySignAttribute(指示应该只使用公钥标记对程序集进行签名,而不使用公钥
    /私钥对)应用于生成的程序集。

    此选项必须与 
    -keyfile 或 -keycontainer 选项一起使用。如果代码文件中已经将该属性应用于程序集,Aspnet_compiler.exe 将引发一个异常。

    使用 
    -delaysign 选项时,Aspnet_compilier.exe 生成的代码在完成代码签名之前即可运行。必须确保该代码在完成签名之前不易受到恶意用户的攻击。
     
    -fixednames 
     指定应该为应用程序中的每一页生成一个程序集。每个程序集的名称使用原始页的虚拟路径,除非此名称超过操作系统的文件名限制。如果超过限制,将生成一个哈希值,并将其用于程序集名称。

    不能将 
    -fixednames 选项用于就地编译;就地编译使用编译批处理模式的配置设置。
     
    -nologo 
     取消显示版权信息。
     
    -? 
     显示该工具的命令语法和选项。
     
  • 相关阅读:
    EXTJS4.2——0.简介
    什么是JDBC?
    Applet和普通的Java应用程序有什么区别?
    final关键字、finally代码块和finalize()方法有什么区别?
    throw和throws有什么区别
    Java中的两种异常类型是什么?他们有什么区别?
    Java堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)?
    flash插件
    算法复杂度分析中的符号(大Θ符号、大Ο符号...)
    Enumeration接口和Iterator接口的区别有哪些?
  • 原文地址:https://www.cnblogs.com/zhangsir/p/1121286.html
Copyright © 2011-2022 走看看