如何在没有 web.config 的情况下为 aspnet_compiler.exe 指定 CompilerVersion?

Posted

技术标签:

【中文标题】如何在没有 web.config 的情况下为 aspnet_compiler.exe 指定 CompilerVersion?【英文标题】:How to specify a CompilerVersion for aspnet_compiler.exe without a web.config? 【发布时间】:2009-07-30 12:41:30 【问题描述】:

当您预编译不包含 web.config 的目录时,aspnet_compiler.exe 默认为 CompilerVersion 2.0 和 3.5 代码无法编译。以下最小的web.config 是指定CompilerVersion 的唯一方法吗?

<?xml version="1.0"?>
<configuration>
    <system.codedom>
        <compilers>
            <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
                      type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
                <providerOption name="CompilerVersion" value="v3.5"/>
                <providerOption name="WarnAsError" value="false"/>
            </compiler>
        </compilers>
    </system.codedom>
</configuration>

我们将 asp.net 预编译与我们的构建和集成环境集成在一起,并且不将 web.configs 用于我们的控制库组件

【问题讨论】:

【参考方案1】:

Here你可以找到它的参数。另请注意,ASP.NET 编译工具不适用于早于 ASP.NET 2.0 版的 ASP.NET 版本。

对于 .NET 2.0,这些是您需要执行的步骤

开始 > 运行并输入 cmd。 设置路径=%windir%\Microsoft.NET\Framework\v2.0.50727 aspnet_compiler –v / –p c:\myproject\testsite c:\testcompile

我认为对于其他版本的 .NET,您必须 cd 到相应的目录。

另请阅读this。您可能会发现它很有用。

【讨论】:

谢谢,但我已经查看了 available 文档(命令行选项等),但我正在寻找一种无需 web.config 的方法,因此问题。 好吧,恕我直言,没有其他方法可以做到这一点。要么使用命令编译项目,要么使用 web.config。您可以做的是创建预构建动作脚本,并在不同的目录中编译项目,然后使用此编译版本进行进一步的动作。

以上是关于如何在没有 web.config 的情况下为 aspnet_compiler.exe 指定 CompilerVersion?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 MediaExtractor 的情况下为 H264 使用 MediaCodec

如何在没有 SDK 的情况下为 webjobs 设置警报

如何在没有 azure 的情况下为 UWP 注册推送通知?

如何在没有连接的情况下为 postgres (Redshift) 生成 SQL 查询?

如何在没有 http 的情况下为 graphql apis 编写健康检查

如何在没有 sudo 的情况下为 Python 安装包时避免权限被拒绝