【发布时间】: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
使用 MsBuild 4.0,我包含了一个生成项目源文件之一的预构建事件。 但它会在文件生成之前寻找文件:
错误 CS1504:无法打开源文件“c:\src\Data\Main.Designer.cs”(“未指定错误”)
文件由 DbMetal/SqlMetal 生成。 有什么办法可以做到这一点?
【问题讨论】:
标签: .net visual-studio-2010 msbuild sqlmetal dblinq
将您的操作移至 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>
【讨论】: