Мы используем порт Jon Skeet proto-csharp, и я сталкиваюсь с некоторыми трудностями при его смешивании с ReSharper в Visual Studio 2010.
Мы генерируем файлы .cs через пользовательскую цель MSBuild, подключенную следующим образом:
<Target Name="BeforeBuild" DependsOnTargets="CompileProtos" />
Цель CompileProtos
запускает ProtoGen
, а затем добавляет сгенерированные файлы .cs в группу элементов @(Compile)
, используя CreateItem
. Он просматривает определенный каталог и компилирует каждый найденный файл .proto, поэтому они не перечислены в проекте.
Сбой в том, что ReSharper не распознает содержимое файлов .cs (потому что их нет в проекте и, возможно, еще не существует), поэтому я не могу заставить индикатор анализа решения стать зеленым .
Если я добавляю файлы .cs в проект, я получаю ошибку сборки, поскольку файл .cs был добавлен в группу элементов Compile
дважды.
Я знаю, что у Marto protobuf-net есть Visual Studio 2008 совершенство , и я ищу что-то подобное, но для Jon protobuf-csharp-port и Visual Studio 2010.
В идеале я хотел бы иметь возможность добавлять файлы .proto в проект, правильно их создавать, и Visual Studio и ReSharper знать о сгенерированных файлах .cs, чтобы IntelliSense и анализ решения работали правильно.
Полагаю, что что-то вроде того, как файлы .xsd могут неявно генерировать файлы .cs, помогло бы.