Dentro de los archivos .csproj Visual Studio y Xamarin Studio por defecto mantienen una referencia a cada archivo usado dentro del proyecto.
<ItemGroup> <Compile Include="Utils\Foo1Utils.cs" /> <Compile Include="Utils\Foo2Utils.cs" /> <Compile Include="Services\FooService.cs" /> ... </ItemGroup>Para evitar conflictos en los archivos csproj dentro de nuestra solución en cada adición de archivos, comenzamos a usar comodines :
<ItemGroup> <Compile Include="Utils\*.cs" /> <Compile Include="Services\*.cs" /> ... </ItemGroup> El problema es que aparentemente tanto en Visual Studio como en Xamarin Studio no es posible "explicarle" al IDE que estamos usando comodines, y cuando agregamos un nuevo archivo al proyecto agregan una nueva referencia al archivo ignorando el comodín *.cs en la carpeta. Sigue siendo una buena solución porque no necesitamos confirmar nuestro .csproj en cada adición de archivos, pero ahora tenemos que restablecerlos cada vez... ¿alguien sabe si hay una solución?
EDITAR: con Rider (JetBrains) no hay este problema, si en el csproj hay un comodín y agrego un nuevo archivo, todo funciona bien.
Si usa el nuevo formato para proyectos ( .net core 2 ), utilizará comodines incluidos sin que tenga que especificarlo para los archivos en la carpeta del proyecto. Puede configurar manualmente el marco de destino para seguir compilando en cualquier destino que desee.