Где указать номер версии на веб-сайте ASP.NET - PullRequest
6 голосов
/ 05 октября 2009

Итак, у меня есть ASP.NET «Веб-сайт» (в отличие от веб-приложения), в котором нет файла AssemblyInfo.cs, папки Bin или чего-либо подобного.

Мне нужен способ указать номер версии сборки (например, 7.0.2.0). В веб-приложении это можно сделать в файле AssemblyInfo.cs.

Я пытался добавить папку «Свойства» с файлом AssemblyInfo.cs, но я не думаю, что он был поднят - потому что когда я вызываю Assembly.GetExecutingAssembly (). GetName (). Version.ToString (), я получаю 0.0 .0.0

Итак: что мне нужно сделать, чтобы AssemblyInfo.cs работал, ИЛИ как мне указать номер версии?

Ответы [ 5 ]

7 голосов
/ 05 октября 2009

K Скотт Аллен имеет сообщение здесь , но лично я бы порекомендовал вам перейти к проекту веб-приложения.

1 голос
/ 05 октября 2009

Там нет единой сборки для вас, чтобы установить номер версии. Вам нужно переосмыслить то, что вы пытаетесь достичь.

1 голос
/ 05 октября 2009

Номер версии устанавливает версию библиотеки DLL. Поскольку вы не прекомпилируете проекты веб-сайтов, я не уверен, что вы можете установить номер версии следующим образом. Возможно, вам просто потребуется версия, используя метку или что-то в вашей системе управления версиями, и управляйте этим самостоятельно.

0 голосов
/ 14 декабря 2018

Возможно, я немного опоздал, но столкнулся с проблемой, и я просто создал и собрал сборку, содержащую только исходный файл AssemblyInfo.cs с требуемыми атрибутами.

Затем я добавил проект 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 и копирует их в сгенерированную сборку.

Надеюсь, это поможет;)

0 голосов
/ 05 октября 2009

Попробуйте поместить класс AssemblyInfo в папку App_Code.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...