Где указывать номер версии на веб-сайте ASP.NET
-
19-09-2019 - |
Вопрос
Итак, у меня есть ASP.NET "Веб-сайт" (в отличие от веб-приложения), у которого нет файла AssemblyInfo.cs или папки Bin или чего-либо подобного.
Я хочу иметь способ указать номер версии сборки (например7.0.2.0).В веб-приложении вы бы сделали это в файле AssemblyInfo.cs.
Я попытался добавить папку свойств с файлом AssemblyInfo.cs, но я не думаю, что он подбирается - потому что, когда я вызываю Assembly.GetExecutingAssembly().getName().Version.toString() Я получаю 0.0.0.0
Итак:Что мне нужно сделать, чтобы файл AssemblyInfo.cs заработал, ИЛИ как я могу указать номер версии?
Решение
У К. Скотта Аллена есть сообщение здесь, но лично я бы порекомендовал вам перейти к проекту веб-приложения.
Другие советы
Номер версии задает версию библиотеки dll.Поскольку вы не выполняете предварительную компиляцию проектов веб-сайтов, я не уверен, что вы можете установить номер версии таким образом.Возможно, вам просто нужно создать версию с помощью ярлыка или чего-то еще в вашей системе управления версиями и настроить это самостоятельно.
Нет ни одной сборки, для которой вы могли бы установить номер версии.Вам нужно переосмыслить то, чего вы пытаетесь достичь.
Попробуйте поместить класс AssemblyInfo в папку App_Code.
Возможно, я немного опоздал, но я столкнулся с проблемой, и то, что я сделал, было просто созданием и сборкой, содержащей только исходный файл AssemblyInfo.cs с нужными мне атрибутами.
Затем я добавил project AssemblyInfo в свое решение.
И затем я реализовал скрипт для запуска при развертывании следующим образом:
:: 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"
Волшебство заключено в
-copyattrs "%~1..\AssemblyInfo\obj\Release\AssemblyInfo.dll",
он берет атрибуты из AssemblyInfo.dll и копирует их в сгенерированную сборку.
Надеюсь, это поможет ;)