Frage

Daher habe ich eine ASP.NET -Website (im Gegensatz zu einer Webanwendung), die keine AssemblyInfo.cs -Datei oder einen Bin -Ordner oder ähnliches hat.

Ich möchte eine Möglichkeit haben, eine Assembly -Versionsnummer anzugeben (z. B. 7.0.2.0). In einer Webanwendung würden Sie dies in einer AssemblyInfo.cs -Datei tun.

Ich habe versucht, einen Eigenschaftenordner mit einer AssemblyInfo.cs -Datei hinzuzufügen, aber ich glaube nicht

Also: Was muss ich tun, um AssemblyInfo.cs funktionieren zu lassen, oder wie kann ich eine Versionsnummer angeben?

War es hilfreich?

Lösung

K Scott Allen hat ein Beitrag hier, aber persönlich würde ich empfehlen, zu einem Webantragsprojekt zu ziehen.

Andere Tipps

Die Versionsnummer legt die Version der DLL fest. Da Sie keine Website -Projekte vorkompilieren, bin ich mir nicht sicher, ob Sie eine solche Versionsnummer wie diese festlegen können. Möglicherweise müssen Sie nur eine Version mit einem Etikett oder etwas in Ihrem Quellungssteuerungssystem verwenden und dies selbst merken.

Es gibt keine einzelne Montage, mit der Sie die Versionsnummer festlegen können. Sie müssen überdenken, was Sie erreichen möchten.

Versuchen Sie, die AssemblyInfo -Klasse in den Ordner app_code einzulegen.

Vielleicht bin ich etwas spät gekommen, aber ich bin auf das Problem gestoßen, und ich habe nur eine AssemblyInfo.cs -Quelldatei mit den gewünschten Attributen erstellt und zusammengestellt.

Dann habe ich meine Lösung das Projekt AssemblyInfo hinzugefügt.

Und dann habe ich ein Skript implementiert, das in der Bereitstellung wie folgt ausgeführt werden soll:

:: Just prepare and clean before starting
SET DOTNETINSTALLDIR=%FRAMEWORKDIR%\v4.0.30319
rmdir /S /Q "%Depot%\AssetExplorer.Web"
mkdir "%Depot%\AssetExplorer.Web"

:: Compiles the web site
call "%DOTNETINSTALLDIR%\aspnet_compiler" -f -c -u -p "%~1..\Discovery.Web" -v "/AssetExplorer" "%Depot%\AssetExplorer.Web"

:: Time to merge the contents into the assembly
call "%WindowsSDK_ExecutablePath_x86%\aspnet_merge" -o ICM.dll -a "%Depot%\AssetExplorer.Web" -copyattrs "%~1..\AssemblyInfo\obj\Release\AssemblyInfo.dll"

Die Magie ist in

-copyattrs "%~1..\AssemblyInfo\obj\Release\AssemblyInfo.dll", 

Es enthält die Attribute von AssemblyInfo.dll und kopiert sie in die erzeugte Baugruppe.

Ich hoffe es hilft ;)

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