Frage

Wie

<None Include="C:\foo.bar" />

unterscheidet sich von

<Content Include="C:\foo.bar" />

War es hilfreich?

Lösung

Der MSDN-Artikel auf der Aktion zu bauen Eigenschaft erklärt die Unterschiede.

  

Keine - Die Datei wird nicht in der Projektausgabegruppe enthalten und wird nicht in den Build-Prozess erstellt. Ein Beispiel ist eine Textdatei, die Dokumentation, wie eine Readme-Datei enthält.

     

Inhalt - Die Datei nicht kompiliert wird, werden jedoch in der Content Ausgangsgruppe enthalten. Zum Beispiel ist diese Einstellung der Standardwert für eine HTM oder eine andere Art von Web-Datei.

Andere Tipps

Ein Unterschied ist, wie sie veröffentlicht werden; „Keine“ Elemente nicht in einer Publizierungsprofilen bekommen, „Inhalt“ Artikel tun; zum Beispiel auf der „Application Files“ Dialog auf der Registerkarte Veröffentlichen.

Ich bin nicht 100% sicher (las ich die MSDN Beschreibung von Build Aktion Eigenschaft), aber das Kopieren nur die Antwort von MSDN zu Stackoverflow keine Antwort auf die Frage vollständig für ich.

Der Unterschied von Keine und Content nur Auswirkungen auf Web-Projekten hat. Für ein Kommandozeilen-Projekt, WinForm Projekt oder Unittest-Projekt (in meinem Fall) usw. Kein und Content haben kein anderes Verhalten.

MSDN: „Projektausgabegruppe“ oder „Content Ausgangsgruppe“ nur Begriffe in einem Web-Projekt verwendet, rechts

In meiner Situation, meine MSBuild-Datei ein ItemGroup für Bild Ressourcen hatte, die wie folgt aufgetaucht:

  <ItemGroup>
    <Content Include="Resources\image001.png" />
    <Content Include="Resources\image002.png" />
    <Content Include="Resources\image003.png" />
    <Content Include="Resources\image004.png" />
    <None Include="Resources\image005.png" />
    <None Include="Resources\image006.png" />
    <None Include="Resources\image007.png" />
  </ItemGroup>

Während mein Projekt in Ordnung war der Bau, das ließ mich fragen, warum ich in meinem Content eine Mischung aus None und ItemGroup Elementtyp Elementen hatte. Diese MSDN-Artikel (für Visual Studio 2010) gab mir die Führung ich suchte:

  

Beachten Sie, dass, wenn der Ressource-Editor ein Bild hinzufügt, setzt sie Build   Aktion Keine , da die RESX-Datei das Bild verweist   Datei. Zum Zeitpunkt der Erstellung wird das Bild in die resources-Datei gezogen   aus der RESX-Datei erstellt. Das Bild kann dann leicht zugänglich   durch die stark typisierte Klasse automatisch generiert für die RESX-Datei.   Daher sollten Sie diese Einstellung nicht ändern auf Eingebettete   Ressource , weil dies zu tun umfassen würde das Bild zweimal in   die Montage.

. Auflösung: Mit dieser Führung, mit einem Texteditor, Ich habe die Content Elementtyp Elemente None

Auch für einen Überblick über MSBuild Artikel finden Sie in diesem MSDN-Artikel .

Ich habe ein Projekt, das keine übersetzbaren Elemente enthält (es speichert HTML und JavaScript für Jasmin Unit-Tests).

Eines Tages meine Lösung (dass das Projekt enthalten ist) gestoppt Kompilieren sagen: „Das Ziel‚Build‘existiert nicht im Projekt“.

Ich habe einen Import in den Compiler zu bringen, die auf meiner Maschine gut funktioniert aber nicht msbuild auf dem Build-Server.

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

Ich änderte dann eine Zeile aus

<None Include="SpecRunner.html" />

<Content Include="SpecRunner.html" />

und es funktioniert auf dem Build-Server als auch.

Sie müssen keine in einer Vorlage Projektdatei zum Einbinden von Dateien Sie in der .vstemplate definieren sie sonst bei der Erstellung und Übersetzungsprozess verloren gehen. Sie erhalten in den temporären Ordner links dahinter nutzt alles zu bauen und dann kurz nach gelöscht.

In meinem Fall .Pubxml ist eine dieser Dateien unter Keine Liste. Es ist nicht für Lösung Gebäude oder als statische Datei für Web-Projekt gedacht. Aber die Website Azure zu veröffentlichen, sind die Konfigurationen in dieser.

Wie pro Microsoft-Artikel Dies sind die wichtigsten Arten sehen wir unter CSPROJ Datei-Tags:

  

Keine - Die Datei wird nicht in der Projektausgabegruppe aufgenommen und ist nicht   in dem Erstellungsprozess erstellt. Ein Beispiel ist eine Textdatei, die enthält   Dokumentation, wie eine Readme-Datei.

     

Übersetzen - Die Datei wird kompiliert in die Build-Ausgabe. Diese Einstellung ist   für die Code-Dateien verwendet wird.

     

Inhalt - Die Datei kann nicht kompiliert wird, sondern im Inhalt enthalten   Ausgangsgruppe. Zum Beispiel ist diese Einstellung der Standardwert für ein   .htm oder andere Art von Web-Datei.

     

Eingebettete Ressource - Diese Datei wird im Hauptprojekterstellungs eingebettet   Ausgabe als eine DLL oder eine ausführbare. Es wird in der Regel für Ressource verwendet   Dateien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top