Как включить автоматически созданный файл в проект MsBuild? - PullRequest
1 голос
/ 09 февраля 2011

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

ошибка CS1504: не удалось открыть исходный файл «c: \ src \ Data \ Main.Designer.cs» («ошибка не указана»)

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

1 Ответ

4 голосов
/ 09 февраля 2011

Переместите ваше действие в цель 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 Вы можете указать Входные и выходные параметры для цели. Это избавит вас от вызова DBMetal и перестройки самого проекта.

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