【问题标题】:Relative path for compileroptions in .NET.NET 中编译器选项的相对路径
【发布时间】:2011-02-14 16:23:03
【问题描述】:

我想使用 web.config 中的 compileroptions 标记来对我的 DLL 文件进行版本控制。是否可以使用相对路径?如果没有,是否有任何使用相对路径的选项?我正在使用CruiseControl

 <system.codedom>
        <compilers>
            <compiler language="c#;cs;csharp"
                      extension=".cs"
                      warningLevel="4"
                      compilerOptions="NEED_ARELATIVE_PATH\Properties\AssemblyInfo.cs"
                      type="Microsoft.CSharp.CSharpCodeProvider,System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
                <providerOption name="CompilerVersion"
                                value="v4.0"/>
                <providerOption name="WarnAsError"
                                value="false"/>
            </compiler>
        </compilers>
    </system.codedom>

【问题讨论】:

    标签: .net deployment web-config cruisecontrol.net


    【解决方案1】:

    如果你说的是一个预编译的web应用,源代码被复制到预编译根目录的obj子目录中,所以你可以使用

    compilerOptions="obj\Release\Source\Properties\AssemblyInfo.cs"
    

    (您必须在字符串中包含活动配置(例如,Release),但至少它是相对路径。)

    【讨论】:

    • 如何找到“活动配置”路径?我尝试使用位于项目根目录(与 web.config 相同的文件夹)的“AssemblyInfo.cs”文件“obj\Release\Source\AssemblyInfo.cs”,但它仍然找不到该文件。绝对路径工作正常,但维护起来太糟糕了......
    • 我对答案投了反对票,因为它似乎不起作用,而且似乎正确答案必须与使用某些系统变量来引用应用程序路径有关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 2014-09-18
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多