所以我有一个ASP.NET'Web站点'(而不是Web应用程序),它没有AssemblyInfo.cs文件或Bin文件夹或类似的东西。
我想要一种方法来指定程序集版本号(例如7.0.2.0)。在Web应用程序中,您可以在AssemblyInfo.cs文件中执行此操作。
我尝试使用AssemblyInfo.cs文件添加一个Properties文件夹,但我不认为它被拾取 - 因为当我调用Assembly.GetExecutingAssembly()时.GetName()。Version.ToString()我得到0.0 .0.0
所以:我需要做什么才能使AssemblyInfo.cs正常工作?如何指定版本号?
答案 0 :(得分:7)
K Scott Allen有a post here,但我个人建议您转到Web应用程序项目。
答案 1 :(得分:1)
版本号设置dll的版本。由于您没有预编译网站项目,我不确定您是否可以设置这样的版本号。您可能只需要在源代码管理系统中使用标签或其他内容进行版本控制,并自行管理。
答案 2 :(得分:1)
没有一个程序集可供您设置版本号。你需要重新思考你想要完成的事情。
答案 3 :(得分:0)
尝试将AssemblyInfo类放入App_Code文件夹中。
答案 4 :(得分:0)
也许我来晚了一点,但是我遇到了这个问题,我所做的只是创建和组装,只包含具有我想要的属性的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中获取属性,并将其复制到生成的程序集中。
希望它会有所帮助;)