2016-07-13 22 views
0

Meine C# -Dll hat eine eingebettete Javascript-Datei. Im Header dieser Datei möchte ich die Versionsinformationen einfügen. Ist es möglich, in die DLL AssemblyInfo (z. B. DLL-Version) in der JS-Datei einzufügen?Fügen Sie AssemblyInfo (z. B. DLL versionno) in eingebettetem JavaScript ein

+2

Bitte bearbeiten Sie Ihre Frage ein wenig weiter und zeigen Sie etwas Code. – khlr

+0

Hallo, danke für deinen Kommentar. Was gibt es mehr zu erfahren? Ein C# -Projekt, in die Assembly eingebettete Javascript-Datei, Unsere Plattform verwendet diese Datei und es wäre hilfreich, wenn die Javascript-Datei die Build-Version der Assembly enthält. –

+0

Überprüfen Sie diese Frage auch, es könnte doppelt sein: http://stackoverflow.com/questions/26021684/how-to-automatical-insert-version-number-intoassemblyname – Farside

Antwort

1

Ohne Code kann ich nicht sagen, was Sie mit dieser JS-Datei tun, aber hier ist eine Idee:

  1. Lesen Sie den Inhalt der JS-Datei in einen String
  2. einige Token in diesen String Ersetzen durch die DLL Assembly Wert benötigen Sie
  3. Entweder die Zeichenfolge bewerten oder sie in eine temporäre Datei speichern (hängt davon ab, was Sie brauchen es für)
+0

HI, danke für Ihre Antwort. Es ist einen Versuch wert :) –

+0

Ist es möglich, den geänderten String zurück auf die Ressource zu schreiben? –

+0

Das meine ich mit "bitte etwas weiter ausführen" ;-) Wir haben keine Ahnung von Ihrer Projektstruktur. Was meinst du mit "die Ressource" in diesem Zusammenhang? – khlr

0

Vielleicht könnten Sie das T4 Template-Engine in ähnlicher Weise wie t verwenden o das. Dies wird z.B. übersetzen eine someFile.tt-someFile.js:

<#@ output extension=".js" encoding="utf-8" #> 
// This file was created at <#= DateTime.Now #> 
// It's version is <#= System.Reflection.Assembly.GetExecutingAssembly().GetName().Version #> 

function foo() { 
    console.log("bar"); 
} 

Leider wird dieser Ausschnitt für Sie nicht den Trick. Es hat mindestens zwei Fehler:

  • Wird nicht bei jedem Build ausgeführt. Vielleicht sehen Sie sich this answer an, um einen Weg zu finden.
  • Die Projektversion Ihres Projekts wird nicht in den Ausgang eingefügt. Sie müssen einen Weg finden, dies zu tun, indem Sie Ihre AssemblyInfo.cs finden und die Version von dort lesen.

Also, obwohl dieser Ratschlag nicht perfekt ist, kann es Ihnen einen Ausgangspunkt geben.