Wie kann ich verhindern, dass externe MSBuild-Dateien zwischengespeichert werden (von Visual Studio) während ein Projekt-build?

Habe ich ein Projekt in meiner Lösung, die begann sein Leben als ein C# - Klassenbibliothek-Projekt. Es hat nichts von Interesse in der es in Bezug auf den code, es wird lediglich verwendet, da Sie eine Abhängigkeit in der anderen Projekte in meiner Lösung, um sicherzustellen, dass es gebaut ersten. Eine der Nebenwirkungen der Gebäude in diesem Projekt ist, dass eine gemeinsame AssemblyInfo.cs erstellt, enthält Sie die Versionsnummer in der Nutzung von anderen Projekten.

Habe ich dies getan, indem Sie die folgenden die .csproj Datei:

<ItemGroup>
  <None Include="Properties\AssemblyInfo.Shared.cs.in" />
  <Compile Include="Properties\AssemblyInfo.Shared.cs" />
  <None Include="VersionInfo.targets" />
</ItemGroup>
<Import Project="$(ProjectDir)VersionInfo.targets" />
<Target Name="BeforeBuild" DependsOnTargets="UpdateSharedAssemblyInfo" />

Die referenzierte Datei VersionInfo.Ziele, die Folgendes enthält:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <!--
      Some properties defining tool locations and the name of the
      AssemblyInfo.Shared.cs.in file etc.
    -->
  </PropertyGroup>
  <Target Name="UpdateSharedAssemblyInfo">
    <!--
      Uses the Exec task to run one of the tools to generate
      AssemblyInfo.Shared.cs based on the location of AssemblyInfo.Shared.cs.in
      and some of the other properties.
    -->
  </Target>
</Project>

Den Inhalt der VersionInfo.targets-Datei kann einfach eingebettet werden innerhalb der .csproj-Datei, aber es ist extern, weil ich bin versucht zu drehen, all dies in einer Projekt-Vorlage. Ich will, dass die Nutzer der Vorlage werden können, um das neue Projekt zu der Lösung, Bearbeiten Sie die VersionInfo.Ziele-Datei, und führen Sie den build.

Das problem ist, dass die änderung und speichern die VersionInfo.Ziele-Datei, und der Neuaufbau der Lösung keine Wirkung - die Projekt-Datei verwendet die Werte aus der .Ziele-Datei, wie Sie waren, wenn das Projekt geöffnet wurde. Auch das entladen und Neuladen hat das Projekt keine Auswirkungen. Um die neuen Werte, die ich brauche, um zu schließen Sie Visual Studio und öffnen Sie es (oder laden Sie die Lösung).

Wie kann ich diese einrichten, so dass die Konfiguration für externe .csproj-Datei und nicht zwischengespeichert zwischen builds?

Schreibe einen Kommentar