美祺's profileEden of HexagonPhotosBlogListsMore Tools Help

Blog


    May 24

    《歌德尔,埃舍尔,巴赫——集异壁之大成》

    《哥德尔、埃舍尔、巴赫--集异璧之大成》,之所以会提到这本书,也是因为在我每月订阅的科学期刊上偶尔看到一篇对此书的评论,同时也看了不少埃舍尔大师匪夷所思的大作,如果有兴趣,baidu的图片里可以找到很多。
     
    这本书应该算一本科普读物,内容涉及数理逻辑、音乐、美术、分子生物学、人工智能、物理等多个方面,主要是讲数理逻辑。
     
    特此摘抄一些书评:
    看完这本书的第一个感觉就是真的不知道“我”是什么了,因为我就是“自指”,而书中大量的实例说明了自指会引起悖论。而实际上,我认为,我们在说“我”的时候,总是有意或无意的跳到自身之外,也就是说我是没有办法谈论“我”的。也许这就是佛教里面要破除“我执”的道理吧。(我必须承认我的世界观在读这本书之前就倾向于佛教了,这本书中也讲到了佛教的禅宗,但我想作者是一个彻底的唯物主义者)。

    还有一个问题就是人工智能是否能够实现,或者换句话说人的心智是否是机械的。如果你回答是,那么根据哥德尔的定理,我们永远不可能认识清楚整个世界,结论非常的悲哀!(顺便说一句,佛教认为凡夫对世界的认识用的是“阿赖耶识”,是不可能认识到世界的本质的,这里是否可认为阿赖耶识是机械的,而我们都还有一个不机械的“自性”,只是不善于利用呢?)如果你回答否,那么你就是在承认“灵魂”的存在。或者你也可以回答“是 and 否”、“not 是 and not 否”、“”,我觉得这三种回答都是有佛教倾向的,最后一种最明显。

        最后一点是关于可计算性的,因为是学计算机的,所以我以前一直把时间复杂度和空间复杂度作为衡量一个问题是否可计算的标准。但书中的标准是把"理论上能不能终止"作为标准,例如判断一个数是否是两个质数的和(哥德巴赫猜想)是可计算的,而判断一个数是否是两个质数的差则不一定可计算。

    另外书中还证明了对任何一台足够强大的计算机,都至少有一个完全按照它所要求的规格写出的程序是它不能执行的, 而如果这台计算机不那么强大, 就不一定了,非常有意思。书中还有很多对话,写得非常好,形式与内容一体。


    ps: 关于“阿赖耶识”的部分,我可能说得不对,如有错漏,恳请指教

     

    当然,我还没有看过这本书,而且这本书也很难买到了,只好过几天从北京订购了:)好期待我看完这本逻辑性极强的书之后也产生的那种晕眩的感觉:)

    May 16

    催眠

    催眠
     
    第一口蛋糕的滋味
    第一件玩具带来的安慰
    太阳下山太阳下山冰淇淋流泪
    第二口蛋糕的滋味
    第二件玩具带来的安慰
    大风吹大风吹爆米花好美
    从头到尾忘记了谁想起了谁
    从头到尾再数一回再数一回
    有没有荒废
    啦┅┅
    第一次吻别人的嘴
    第一次生病了要喝药水
    太阳下山太阳下山冰淇淋流泪
    第二次吻别人的嘴
    第二次生病了需要喝药水
    大风吹大风吹爆米花好美
    忽然天亮忽然天黑诸如此类
    远走高飞一二三岁四五六岁千秋万岁
     
     
     
    May 08

    强名称工具(SN.exe)

    .NET Framework 工具 
    强名称工具 (Sn.exe) 

    强名称工具有助于使用强名称对程序集进行签名。Sn.exe 提供用于密钥管理、签名生成和签名验证的选项。

    sn [-quiet][option [parameter(s)]]

    参数

     

    选项 说明

    -c [csp]

    将默认加密服务提供程序 (CSP) 设置为用于强名称签名。此设置应用于整台计算机。如果不指定 CSP 名称,则 Sn.exe 将清除当前设置。

    -d container

    从强名称 CSP 中删除指定的密钥容器。

    -D assembly1 assembly2

    验证两个程序集是否只是签名不同。这经常用作使用不同的密钥对重新为程序集创建签名后的检查。

    -e assembly outfile

    assembly 中提取公钥并将其存储在 outfile 中。

    -h

    显示该工具的命令语法和选项。

    -i infile container

    从指定密钥容器中的 infile 安装密钥对。密钥容器位于强名称 CSP 中。

    -k [keysize] outfile

    生成一个指定大小的新 RSACryptoServiceProvider 密钥并将其写入指定的文件。公钥和私钥都写入该文件。

    如果不指定密钥大小,并且已安装了 Microsoft Enhanced Cryptographic Provider,则默认情况下生成 1,024 位的密钥;否则,生成 512 位的密钥。

    如果安装了 Microsoft Enhanced Cryptographic Provider,则 keysize 参数支持 384 位至 16,384 位(增量为 8 位)的密钥长度。如果安装了 Microsoft Base Cryptographic Provider,则支持 384 位至 512 位(增量为 8 位)的密钥长度。

    -m [y|n]

    指定密钥容器是计算机特定的还是用户特定的。如果指定 y,则密钥容器是计算机特定的。如果指定 n,则密钥容器是用户特定的。

    如果既没有指定 y 也没有指定 n,则此选项显示当前设置。

    -o infile [outfile]

    infile 中提取公钥并将其存储在 .csv 文件中。公钥的每一字节都由逗号分隔。这种格式对于通过硬编码在源代码中将公钥作为初始化数组引用很有用。如果不指定 outfile,则此选项将输出放到剪贴板上。

    -p infile outfile

    infile 中的密钥对提取公钥并将其存储在 outfile 中。此公钥可用于通过程序集链接器 (Al.exe)/delaysign+ /keyfile 选项对程序集进行延迟签名。如果延迟创建程序集的签名,则在编译时只设置公钥,并在文件中为以后知道公钥时添加的签名保留空间。

    -pc container outfile

    container 中的密钥对中提取公钥并将其存储在 outfile 中。

    -q[uiet]

    指定安静模式;取消显示成功消息。

    -R[aassembly infile

    使用 infile 中的密钥对,重新签名先前已签名的程序集或延迟已签名的程序集。

    如果使用 -Ra,则重新计算程序集中所有文件的哈希。

    -Rc[aassembly container

    使用容器中的密钥对,重新签名先前已签名的程序集或延迟已签名的程序集。 

    如果使用 -Rca,则重新计算程序集中所有文件的哈希。

    -Rh assembly

    重新计算程序集中所有文件的哈希。

    -t[p] infile

    显示存储在 infile 中的公钥的标记。infile 的内容必须是以前使用 -p 从密钥对文件生成的公钥。不要使用 -t[p] 选项直接从密钥对文件提取该标记。

    Sn.exe 使用公钥中的哈希函数计算该标记。为节省空间,公共语言运行库在记录对具有强名称的程序集的依赖性时,将公钥标记存储在清单中,作为对另一个程序集的引用的一部分。-tp 选项除显示标记外还显示公钥。

    请注意,此选项不验证程序集签名,而且不应用于做出信任决策。此选项仅显示原始公钥标记数据。

    -T[p] assembly

    显示 assembly 的公钥标记。assembly 必须是包含程序集清单的文件的名称。

    Sn.exe 使用公钥中的哈希函数计算该标记。为节省空间,公共语言运行库在记录对具有强名称的程序集的依赖性时,将公钥标记存储在清单中,作为对另一个程序集的引用的一部分。-Tp 选项除显示标记外还显示公钥。

    请注意,此选项不验证程序集签名,而且不应用于做出信任决策。此选项仅显示原始公钥标记数据。

    -v assembly

    验证 assembly 中的强名称,其中 assembly 是包含程序集清单的文件名。

    -vf assembly

    验证 assembly 中的强名称。与 -v 选项不同,-vf 强制实施验证,即使已使用 -Vr 选项禁用了验证。

    -Vl

    列出此计算机上的强名称验证的当前设置。

    -Vr assembly [userlist] [infile]

    注册 assembly 以跳过验证。或者,可以指定用逗号分隔的用户名列表。如果指定 infile,则验证保持启用,但 infile 中的公钥将用于验证操作。可以 *, strongname 的形式指定程序集,以注册所有具有指定强名称的程序集。 Strongname 应指定为十六进制数字的字符串以表示标记形式的公钥。参见 -t-T 选项以显示公钥标记。

    Caution note警告

    仅在开发期间使用此选项。将程序集添加到跳过验证列表会产生安全漏洞。如果将某程序集添加到跳过验证列表中,则恶意的程序集可以通过使用该程序集的完全限定程序集名称来隐藏身份,完全限定程序集名称由程序集名称、版本、区域性和公钥标记组成。这使恶意程序集也可以跳过验证。

    -Vu assembly

    注销 assembly,不跳过验证。应用于 -Vr 的同一程序集命名规则也应用于 -Vu

    -Vx

    移除所有验证跳过项。

    -?

    显示该工具的命令语法和选项。

    Note注意

    所有 Sn.exe 选项都区分大小写,并且必须完全按上面显示的样子键入才可以被此工具识别。

    备注备注

    -R–Rc 选项对被延迟签名的程序集很有用。在此方案中,编译时只设置公钥,并且以后知道私钥时执行签名。

    示例示例

    下面的命令创建一个新的随机密钥对并将其存储在 keyPair.snk 中。

    sn -k keyPair.snk

    下面的命令将 keyPair.snk 中的密钥存储在强名称 CSP 中的容器 MyContainer 中。

    sn -i keyPair.snk MyContainer

    下面的命令从 keyPair.snk 中提取公钥并将其存储在 publicKey.snk 中。

    sn -p keyPair.snk publicKey.snk

    下面的命令显示公钥和 publicKey.snk 包含的公钥的标记。

    sn -tp publicKey.snk

    下面的命令验证程序集 MyAsm.dll

    sn -v MyAsm.dll

    下面的命令从默认 CSP 中删除 MyContainer

    sn -d MyContainer
    May 03

    程序集链接器(AL.exe)

    .NET Framework 工具 
    程序集链接器 (Al.exe) 

    “程序集链接器”从一个或多个文件(可以是模块,也可以是资源文件)生成一个带有程序集清单的文件。模块是不含程序集清单的“Microsoft 中间语言”(MSIL) 文件。

    al sources options

    参数

    您可以指定以下一个或多个 sources

     
    说明

    file[,target]

    file(模块)的内容复制到 target 指定的文件名。复制后,Al.exe 将 target 编译为程序集。

    /embed[resource]:file[,name[,private]]

    file 指定的资源嵌入到包含程序集清单的映像中;Al.exe 将 file 的内容复制到可移植可执行 (PE) 映像中。

    name 参数是资源的内部标识符。默认情况下,资源在程序集中是公共的(对于其他程序集可见)。指定 private 会使该资源对于其他程序集不可见。

    例如,如果 file 是由资源文件生成器 (Resgen.exe) 创建或在开发环境中创建的 .NET Framework 资源文件,则可使用 System.Resources 命名空间的成员来访问它。有关更多信息,请参见 System.Resources.ResourceManager 类。对于所有其他资源,请使用 System.Reflection.Assembly 类中的 GetManifestResource* 方法在运行时访问资源。

    如果只将资源文件传递给 Al.exe,则输出文件会是附属资源程序集。

    /link[resource]:file[,name[,target[,private]]]

    将资源文件链接到程序集。file 指定的资源成为程序集的组成部分;不复制该文件。file 参数可以是任何文件格式。例如,可以指定本机 DLL 作为 file 参数。这将使本机 DLL 成为程序集的组成部分,从而可将它安装到全局程序集缓存中,并且可以通过该程序集中的托管代码访问它。也可以通过使用 /linkresource 编译器选项实现该目的。有关更多信息,请参见 /linkresource(链接到 .NET Framework 资源)(C# 编译器选项)

    name 参数是资源的内部标识符。target  参数指定 Al.exe 将 file  复制到其中的路径和文件名。复制后,Al.exe 将 target 编译为程序集。默认情况下,资源在程序集中是公共的(对于其他程序集可见)。指定 private 会使该资源对于其他程序集不可见。

    例如,如果 file 是由资源文件生成器 (Resgen.exe) 创建或在开发环境中创建的 .NET Framework 资源文件,则可使用 System.Resources 命名空间中的成员来访问它。有关更多信息,请参见 System.Resources.ResourceManager。对于所有其他资源,请使用 System.Reflection.Assembly 类中的 GetManifestResource* 方法在运行时访问资源。

    如果只将资源文件传递给 Al.exe,则输出文件会是附属资源程序集。

    您可以指定以下“选项”;请注意,必须指定 /out 

     

    选项 说明

    /algid:id

    指定一种算法以散列多文件程序集中的所有文件,包含程序集清单的文件除外。默认算法是 CALG_SHA1。有关其他算法,请参见 Platform SDK 文档中的 ALG_ID。对于 .NET Framework 的第一版,只有 CALG_SHA1 和 CALG_MD5 是有效的。

    哈希值存储在程序集清单的文件表中。在安装和加载时,会对照相应的哈希值检查程序集文件。

    还可以将此选项指定为任何模块的源代码中的自定义属性 (System.Reflection.AssemblyAlgorithmIdAttribute)。

    /base[address]:addr

    指定一个地址,运行时在用户计算机上在该地址加载 DLL。如果指定 DLL 的基址,而不是让操作系统在进程空间重新定位 DLL,应用程序的加载就会快一些。

    /bugreport:filename

    创建包含有关报告 bug 的信息的文件 (filename)。

    /comp[any]:text

    为程序集中的 Company 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32restext 就会在 Microsoft Windows 资源管理器中显示为文件的 Company 属性。如果指定 /win32res,所指定资源文件中的公司信息就会在 Windows 资源管理器中显示为 Company 属性。

    如果文本是空字符串 (""),Win32 Company 资源就会显示为一个空格。

    如果指定 /win32res/company 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (System.Reflection.AssemblyCompanyAttribute)。

    /config[uration]:text

    为程序集中的 Configuration 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果文本是空字符串,Win32 Configuration 资源就会显示为一个空格。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (System.Reflection.AssemblyConfigurationAttribute)。

    /copy[right]:text

    为程序集中的 Copyright 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32res/copyright 在 Windows 资源管理器中将显示为 Win32 Copyright 资源。

    如果文本是空字符串,Win32 Copyright 资源就会显示为一个空格。

    如果指定 /win32res/copyright 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (System.Reflection.AssemblyCopyrightAttribute)。

    /c[ulture]:text

    指定要与程序集相关联的区域性字符串。区域性的有效值是名为“Tags for the Identification of Languages”(语言标识的标记)的 Internet Requests for Comments (RFC)(Internet 注释请求)文档 1766 定义的那些值。

    如果 text 包含空格,则将字符串放置在双引号 (" ") 中。没有默认的区域性字符串。使用反射可以查看此字符串。

    有关有效的 text 字符串的信息,请参见 CultureInfo

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyCultureAttribute)。

    /delay[sign][+|-]

    指定程序集是完全签名的还是部分签名的。如果需要完全签名的程序集,则使用 /delaysign-。如果只想将公钥放在程序集中,则使用 /delaysign+

    在请求完全签名的程序集时,Al.exe 散列包含清单(程序集元数据)的文件,并使用私钥对该散列签名。产生的数字签名存储在包含清单的文件中。在对程序集延迟签名时,Al.exe 并不计算和存储签名,而只是在文件中保留空间以便以后可以添加签名。

    默认值为 /delaysign-

    如果不与 /keyfile/keyname 一起使用,/delaysign 选项将无效。

    例如,使用 /delaysign+ 将允许测试人员把程序集放入全局缓存中。测试完成后,可以通过将私钥放入程序集中对程序集进行完全签名。

    Note注意

    使用全局程序集缓存工具 (Gacutil.exe) 将延迟签名的程序集放入全局缓存中之前,请使用强名称工具 (Sn.exe) 注册该程序集,以跳过验证。例如 Sn.exe –Vr delaySignedAssembly。仅将它用于开发。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyDelaySignAttribute)。

    /descr[iption]:text

    为程序集中的 Description 字段指定一个字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32res/description 在 Windows 资源管理器中就会显示为 Win32 Comments 资源。

    如果文本是空字符串,Win32 Comments 资源就会显示为一个空格。

    如果指定 /win32res/description 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (Description)。

    /e[vidence]: file

    使用资源名称 Security.Evidence file 嵌入到程序集中。

    对常规资源不能使用 Security.Evidence

    /fileversion: version

    为程序集中的 File Version 字段指定字符串。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32res/fileversion 就会作为 Win32 File Version 资源使用。如果不指定 /fileversion,Win32 File Version 资源就会被 Win32 Assembly Version 资源填充。

    如果指定 /win32res/fileversion 就不会影响 Win32 资源。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyFileVersionAttribute)。

    /flags: flags

    指定程序集中 Flags 字段的值。flags 的可能值有:

    0x0000

    程序集是相邻兼容的。

    0x0010

    程序集无法与其他版本在同一应用程序域中一起执行。

    0x0020

    程序集无法与其他版本在同一进程中一起执行。

    0x0030

    程序集无法与其他版本在同一计算机上一起执行。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyFlagsAttribute)。

    /fullpaths

    使 Al.exe 对在错误信息中报告的任何文件使用绝对路径。

    /help

    显示该工具的命令语法和选项。

    /keyf[ile]: filename

    指定一个文件 (filename),该文件包含密钥对,或只包含用于对程序集进行签名的公钥。编译器在程序集清单中插入公钥,然后使用私钥对最终的程序集签名。有关生成密钥文件和将密钥对安装到密钥容器的信息,请参见强名称工具 (Sn.exe)

    如果使用延迟签名,此文件通常会具有公钥而不是私钥。

    (密钥对的)公钥信息显示在程序集的 .publickey 字段中。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyKeyFileAttribute)。

    如果在同一编译中同时指定了 /keyfile/keyname(通过命令行选项或者通过自定义属性),Al.exe 将首先尝试由 /keyname 指定的容器。如果成功,则使用密钥容器中的信息对程序集进行签名。如果 Al.exe 没有找到密钥容器,它将尝试由 /keyfile 指定的文件。如果成功,则使用密钥文件中的信息对程序集签名,并且将密钥信息安装到密钥容器中(类似于 Sn.exe 中的 -i 选项),以便在下一次编译中,/keyname 选项可以生效。

    /keyn[ame]: text

    指定保存密钥对的容器。这样将会通过将公钥插入程序集清单来对程序集签名(为它指定一个强名称)。然后 Al.exe 使用私钥对最终程序集签名。

    使用 Sn.exe 生成密钥对。

    密钥信息在程序集的 .publickey 字段中显示。

    如果有嵌入的空格,请用双引号 (" ") 将 text 引起来。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyKeyNameAttribute)。

    /main: method

    指定方法的完全限定名称 (class.method),以用作将模块转换为可执行文件时的入口点。

    /nologo

    调用 Al.exe 时,在命令行取消显示版权标志或徽标。

    /out: filename

    指定 Al.exe 产生的文件的名称,这是必选项。

    /platform:text

    限制可以运行该代码的平台;必须为 x86、Itanium、x64 或 anycpu(默认值)之一。

    /prod[uct]: text

    为程序集中的 Product 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32res/product 将在 Windows 资源管理器中显示为 Win32 Product Name 资源。

    如果文本是空字符串,Win32 Product Name 资源就会显示为一个空格。

    如果指定 /win32res/product 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyProductAttribute)。

    /productv[ersion]: text

    为程序集中的 Product Version 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32res/productversion 将作为 Win32 Product Version 资源使用。如果不指定 /productversion,Win32 Product Version 资源就会被 Win32 File Version 资源填充。

    如果指定 /win32res/productversion 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyInformationalVersionAttribute)。

    /t[arget]:lib[rary] | exe | win[exe]

    指定输出文件的文件格式:lib[rary](代码库)、exe(控制台应用程序)或 win[exe](基于 Windows 的应用程序)。默认值为 lib[rary]

    /template: filename

    指定程序集 filename,除区域性字段之外的所有程序集元数据都从该程序集继承。指定的 filename 必须有强名称。

    /template 创建的程序集将是附属程序集。

    /title: text

    为程序集中的 Title 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32res/title 就会在 Windows 资源管理器中显示为 Win32 Description 资源,外壳程序将其用作应用程序的友好名称。如果某个文件类型有多个支持应用程序,则该字符串也会出现在此文件类型的快捷菜单的“打开方式”子菜单中。

    如果文本是空字符串,Win32 Description 资源就会显示为一个空格。

    如果指定 /win32res/title 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyTitleAttribute)。

    /trade[mark]: text

    为程序集中的 Trademark 字段指定字符串。如果 text 包含空格,则将字符串放置在双引号 (" ") 中。此字符串是程序集上的自定义属性,可以使用反射进行查看。

    如果不指定 /win32res/trademark 在 Windows 资源管理器中就会显示为 Win32 Trademark 资源。

    如果文本是空字符串,Win32 Trademark 资源就会显示为一个空格。

    如果指定 /win32res/trademark 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyTrademarkAttribute)。

    /v[ersion]: version

    指定此程序集的版本信息。版本字符串的格式为 major.minor.build.revision。默认值为 0。

    如果指定 /version,则必须指定 major。如果指定 majorminor,则可以指定一个星号 (*) 作为 build。这样会使 build 等于从当地时间 2000 年 1 月 1 日算起的天数,使 revision 等于从当地时间 2000 年 1 月 1 日午夜算起的秒数的一半。

    如果指定 majorminorbuild,则可以指定一个星号作为 revision。这会使 revision 等于从当地时间 2000 年 1 月 1 日午夜算起的秒数的一半。

    概括而言,有效的版本字符串有:

    X

    X.X

    X.X.*

    X.X.X

    X.X.X.*

    X.X.X.X

    其中 X 是 0 至 65534 之间(不含 65535)的任何一个无符号短常数。

    如果不指定 /win32res/version 将作为 Win32 Assembly Version 资源使用。

    如果不指定 /win32res/productversion/fileversion/version 将用于 Assembly Version、File Version 和 Product Version Win32 资源。

    如果指定 /win32res/version 就不会影响 Win32 资源信息。

    还可以将此选项指定为任何 MSIL 模块的源代码中的自定义属性 (AssemblyVersionAttribute)。

    /win32icon: filename

    在程序集中插入 .ico 文件。.ico 文件在 Windows 资源管理器中赋予输出文件所需的外观。

    /win32res: filename

    在输出文件中插入 Win32 资源(.res 文件)。Win32 资源文件可以用资源编译器创建。编译 Visual C++ 程序时将调用资源编译器;.res 文件是从 .rc 文件创建的。

    @filename

    指定包含 Al.exe 命令的响应文件。

    响应文件中的命令既可以每行显示一个,也可以显示在同一行中,用一个或多个空格分隔。

    /?

    显示该工具的命令语法和选项。

    备注备注

    所有 Visual Studio 编译器都产生程序集。但是,如果您有一个或多个模块(没有清单的元数据),则可使用 Al.exe 在单独的文件中创建带清单的程序集。

    要在缓存中安装程序集,从缓存中删除程序集,或列出缓存内容,请使用全局程序集缓存工具 (Gacutil.exe)

    示例示例

    以下命令使用 t2.netmodule 模块中的程序集创建可执行文件 t2a.exe。入口点是 MyClass 中的 Main 方法。

    al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main

    May 01

    5.1了,憧憬一下

    5.1了,憧憬一下
     
        这次伤大了,上周五打球前热身,做拉腰部韧带的时候不小心把腰给拉伤了,直接导致两天病假在家卧床不起(不是我不起,是腰无法发力),搞得自己像T-Mac一样,嘿嘿,懂球的别笑我哈:)
     
        好了,这次的5.1看来不能像往年全勤去球场了,在家里也没法子举哑铃了,应验了一句球场名言阿——“腰好一切都好”。雷巴龙(lebron james的绝招)也来不起来了,ally-opp也没有了。。。日子指数要开始单调递减咯,55555555。
     
        节假日望兄弟姐妹们吃好玩好,自己也赶快把我的T-mac小腰养养好。