凡在指定的ASP.NET Web站点的版本号(Where to specify version nu

2019-08-17 07:49发布

所以,我有一个ASP.NET“网站”(相对于Web应用程序),它没有AssemblyInfo.cs文件或Bin文件夹或类似的东西。

我想有一个方法来指定一个程序集版本号(如7.0.2.0)。 在Web应用程序,你会在AssemblyInfo.cs文件做到这一点。

我试着加入了属性文件夹与AssemblyInfo.cs文件,但我不认为它被拾起 - 因为当我打电话Assembly.GetExecutingAssembly()的GetName()Version.ToString()我得到0.0.0.0。

所以:我有什么做的就是AssemblyInfo.cs中工作或如何可以指定一个版本号?

Answer 1:

ķ斯科特·艾伦有一个帖子在这里 ,但我个人建议你移动到一个Web应用程序项目。



Answer 2:

版本号设置DLL的版本。 当你不预编译网站项目,我不知道,你可以设置一个版本号是这样的。 您可能只需要通过的版本在你的源代码控制系统使用一个标签或东西,这奶源自己。



Answer 3:

没有单一的组件,为你设置的版本号。 你需要重新思考你要完成的任务。



Answer 4:

尝试把集信息类到App_Code文件夹中。



Answer 5:

也许我来晚了一些,但我碰到的问题来了,我所做的只是创造和组装含只是我想要的属性的的AssemblyInfo.cs源文件。

然后我说这个项目集信息到我的解决方案。

然后,我实现了一个脚本如下部署上要运行:

:: 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,并将它们复制的属性到生成的组件。

希望能帮助到你 ;)



文章来源: Where to specify version number in ASP.NET Web Site