In Visual Studio (2008) ist es eine Möglichkeit, eine benutzerdefinierten abhängige Datei auf einer anderen benutzerdefinierten Datei haben?

StackOverflow https://stackoverflow.com/questions/727898

Frage

Statt eines * .cs Code hinter oder neben Ich möchte ein * JS-Datei haben. Ich entwickle eine MVC-Anwendung eine habe keine Notwendigkeit für einen Code neben weil ich Controller haben, aber in bestimmten Fällen wäre es schön, neben einen JavaScript-Code zu haben oder irgendeine Art und Weise die Datei auf die Seite zu assoziieren es auf verwendet werden wird. Ich glaube, ich nur sie ähnlich nennen könnte, aber ich will den Verein zeigen, wenn möglich, so gibt es keine Frage, was die Datei ist für.

Normalerweise, was ich rede ist in Visual Studio jetzt unter Ihrer Global.asax-Datei finden Sie ein Pluszeichen auf der linken Seite haben:

+ Global.asax

Wenn Sie diese erweitern Sie erhalten

- Global.asax
    Global.asax.cs

Ich möchte die gleiche Sache geschehen:

+ Home.spark

- Home.spark
    Home.spark.js

Aktualisiert:

Meine bestehende csproj Datei hat einen Pfad zu der eigentlichen Datei, nicht sicher, ob das Aufschrauben auf. Ich habe zur Zeit bekommt:

<ItemGroup>
    <Content Include="Views\User\Profile.spark.js">
      <DependentUpon>Views\User\Profile.spark</DependentUpon>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <Content Include="Views\User\Profile.spark" />
  </ItemGroup>

und es ist einfach nur die Dateien nebeneinander zeigt.

War es hilfreich?

Lösung

Absolut - aber Sie werden die Projektdatei von Hand bearbeiten müssen. Finden Sie Ihren „Kind“ Datei-Eintrag, und ändern Sie ein nicht-selbstschließenden Element zu sein, und fügen Sie ein untergeordnetes Element zu sagen, was es hängt davon ab. Hier ist ein Beispiel für eine CS-Datei erstellt werden:

<Compile Include="AssertCount.cs">
  <DependentUpon>MoreEnumerable.cs</DependentUpon>
</Compile>

Und hier ist eine Version, die ich gerade verspottet habe für die Dateien, bis Sie festgelegt haben - obwohl ich Home.spark erwarte eine Aktion mit ihm eher als „None“ zugeordnet wird:

<ItemGroup>
  <Content Include="Home.spark.js">
    <DependentUpon>Home.spark</DependentUpon>
  </Content>
</ItemGroup>
<ItemGroup>
  <None Include="Home.spark" />
</ItemGroup>

Visual Studio zeigt es, wie Sie es erwarten würden, zu.

Andere Tipps

Es gibt VSCommands Add-in mit dem Sie abhängige Dateien direkt von IDE

konfigurieren

Link aktualisiert vorherige war http://mokosh.co.uk/vscommands

Zur Info: Wenn VSCommands installiert ist, wählen Sie einfach alle Dateien, die Sie abhängig und die Root-Datei sein wollen, dann Rechtsklick -> Group Items ... und VSCommands fragen, welche der Dateien möchten Sie die Wurzel sein Datei.

Ich weiß nicht, wie Sie es über das Visual Studio UI tun können selbst, aber wenn man die csproj Datei in einem Texteditor öffnen, können Sie sehen, wie sie es für Global.asax tun.

Es sieht in der Regel so etwas wie folgt aus:

<Compile Include="Global.asax" />
<Compile Include="Global.asax.cs">
    <DependentUpon>Global.asax</DependentUpon>
</Compile>

Während die anderen Lösungen hier (die Bearbeitung der Projektdatei) für einzelne Dateien arbeiten, haben wir das gleiche getan, aber wollen es für alle automatisch arbeiten * .conv und * .conv.js Dateien anstatt zu bearbeiten die Projektdatei für jeden einzelnen.

Wenn wir eine neue .conv Datei zu unserer App hinzufügen, wenn wir ein * .conv.js haben Datei automatisch unter ihm verschachtelt, wie Sie mit aspx und * aspx.cs erwarten würde.

Ich kann nicht das ursprüngliche Tutorial finde ich diese eingerichtet hat (es Hacker nicht beteiligt Registry), aber hier ist ein ich von einer Google-Suche gefunden gerade jetzt, beschreibt das gleiche:

http: //blog.dotnetwise .com / 2009/09 / Visual-Studio-2008-custom-nested-files.html

Wenn Sie Code-Behind für einige Datei hinzufügen gibt es eine Abhilfe. Zum Beispiel möchten Sie Test.xaml.cs ein Kind von Test.xaml machen. Führen Sie die folgenden Schritte aus:

  1. Ausschließen sowohl Test.xaml und Test.xaml.cs aus Projekt, Projekt speichern.

  2. Unload-Projekt.

  3. Reload-Projekt.

  4. Klicken Sie auf "Alle Dateien" in Datei-Explorer-Fenster.

  5. Datei Test.xaml.cs wird als Kind von angezeigt Test.xaml .

  6. Hinzufügen von Dateien zurück zu Projekt speichern Projekt.

Das ist es. Jetzt Test.xaml.cs ist abhängig von Test.xaml .

Sie von Hand die Projektdatei bearbeiten können, hat vorgeschlagen, John Skeed, oder Sie können auch einen Blick auf die Datei Nesting-Erweiterung für Visual Studio , die die Arbeit für Sie tun wird.

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