Ho una soluzione di Visual Studio che ha, tra l'altro, i seguenti tre:
- NamespacePrefix.NancyFX.csproj: alcuni moduli Nancy
- NamespacePrefix.NancyFX.IISHosting.csproj: una soluzione web per ospitare i moduli nancy
- NamespacePrefix.NancyFX.Selfhost.csproj: un exe per ospitare i moduli nancy
Oltre ai servizi di riposo ci sono alcuni html javascript e css in Views /, Scripts / e Content / folders. Voglio questo contenuto sia nell'hosting IIS che nel progetto self hosting. Attualmente memorizzo i file nel progetto Web e li copio nel progetto self hosting modificando il file csproj xml in questo modo:
<Target Name="BeforeBuild">
<ItemGroup>
<ContentItems Include="..\NamespacePrefix.NancyFX.IISHosting\Content\**\*.*" />
<ScriptItems Include="..\NamespacePrefix.NancyFX.IISHosting\Scripts\**\*.*" />
<ViewItems Include="..\NamespacePrefix.NancyFX.IISHosting\Views\*.*" />
</ItemGroup>
<Copy SourceFiles="@(ContentItems)" DestinationFiles="$(TargetDir)\Content\%(RecursiveDir)%(Filename)%(Extension)" />
<Copy SourceFiles="@(ScriptItems)" DestinationFiles="$(TargetDir)\Scripts\%(RecursiveDir)%(Filename)%(Extension)" />
<Copy SourceFiles="@(ViewItems)" DestinationFolder="$(TargetDir)\Views" />
</Target>
Funziona bene, ma c'è un modo migliore? Questo sembra darmi la migliore intelligenza, ecc.