【问题标题】:How to include an auto generated file in a MsBuild project?如何在 MsBuild 项目中包含自动生成的文件?
【发布时间】:2011-02-09 15:10:29
【问题描述】:

使用 MsBuild 4.0,我包含了一个生成项目源文件之一的预构建事件。 但它会在文件生成之前寻找文件:

错误 CS1504:无法打开源文件“c:\src\Data\Main.Designer.cs”(“未指定错误”)

文件由 DbMetal/SqlMetal 生成。 有什么办法可以做到这一点?

【问题讨论】:

    标签: .net visual-studio-2010 msbuild sqlmetal dblinq


    【解决方案1】:

    将您的操作移至 BeforeBuild 目标。在项目 *.csproj 中,默认情况下它是注释的。 取消注释并使用Exec task调用DBMetal

    <Target Name="BeforeBuild">
        <Exec Command="<your prebuild action 1>"/>
        <Exec Command="<your prebuild action 2>"/>
    </Target>
    

    如果您正在使用 Datasource.db 并希望生成 Main.Designer.cs 您可以为目标指定Input and Output parameters。它将节省您调用 DBMetal 和重建项目本身的时间。

    <Target Name="BeforeBuild"
            Inputs="Datasource.db"
            Outputs="Main.Designer.cs">
        <Exec Command="<your prebuild action 1>"/>
        <Exec Command="<your prebuild action 2>"/>
    </Target>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      相关资源
      最近更新 更多