2011-02-09 2 views
1

Использование MsBuild 4.0 Я включил событие pre-build, которое генерирует один из исходных файлов проекта. Но ищет файл, прежде чем оно было создано:Как включить автоматически созданный файл в проект MsBuild?

ошибка CS1504: Исходный файл: не может быть открыт 'с \ SRC \ Data \ Main.Designer.cs' ('Неизвестная ошибка')

Файл создан DbMetal/SqlMetal. Есть ли способ сделать эту работу?

ответ

4

Переместите свое действие на цель BeforeBuild. В проекте * .csproj он по умолчанию комментируется. Раскоментируйте его и называют DBMetal использованием Exec task

<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>