使用 MsBuild 4.0,我包含了一个生成项目源文件之一的预构建事件。但它会在文件生成之前寻找文件:
错误 CS1504:无法打开源文件“c:\src\Data\Main.Designer.cs”(“未指定错误”)
该文件由 DbMetal/SqlMetal 生成。有什么办法可以使这项工作?
使用 MsBuild 4.0,我包含了一个生成项目源文件之一的预构建事件。但它会在文件生成之前寻找文件:
错误 CS1504:无法打开源文件“c:\src\Data\Main.Designer.cs”(“未指定错误”)
该文件由 DbMetal/SqlMetal 生成。有什么办法可以使这项工作?
将您的操作移动到 BeforeBuild 目标。在项目 *.csproj 中,默认情况下它是注释的。取消注释并使用Exec 任务调用 DBMetal
<Target Name="BeforeBuild">
<Exec Command="<your prebuild action 1>"/>
<Exec Command="<your prebuild action 2>"/>
</Target>
如果您正在使用Datasource.db并且想要生成Main.Designer.cs ,您可以为目标指定输入和输出参数。它将节省您调用 DBMetal 并重建项目本身。
<Target Name="BeforeBuild"
Inputs="Datasource.db"
Outputs="Main.Designer.cs">
<Exec Command="<your prebuild action 1>"/>
<Exec Command="<your prebuild action 2>"/>
</Target>