1

我认为这将是一件很容易解决的事情,但是在尝试了我在 Google 上找到的几种解决方案之后(清除系统的临时文件,通过 64 位 IIS Express 运行构建,并在发布模式下构建而不是调试),我' m 仍然收到以下错误: 在此处输入图像描述

正在运行的命令:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\aspnet_merge.exe C:\Users\jmckinnon\AppData\Local\Temp\WebSitePublish\cv_net_2008--650083730\obj\Debug\AspnetCompileMerge\TempBuildDir -o xxxxx -copyattrs C:\Users\jmckinnon\AppData\Local\Temp\WebSitePublish\cv_net_2008--650083730\obj\Debug\AssemblyInfo\AssemblyInfo.dll -a -debug 

通过使用以下预编译设置运行发布到 zip 时出现此错误: 预编译设置

需要注意的几点:

  • 网站不是 Web 应用程序!
  • 该网站有超过9100个文件
  • 运行.Net 4.5
  • 尝试在具有 16GB RAM 的 Windows 7 Professional 64 位机器上构建
  • 我尝试构建单个 DLL 的唯一原因是因为我需要对包的输出进行版本控制。我发现我可以使用 AssemblyInfo.vb 文件对 App_Code 进行版本控制,但我可以对所有其他 DLL 进行版本控制(默认不合并发布为每个页面生成 DLL)的唯一方法是在每个页面中添加一个版本指令,这也是超过 1000 页需要维护。
4

1 回答 1

1

aspnet_merge 是一个 32 位进程,当它接近 2GB 内存使用量时似乎会崩溃,这发生在我们的项目中。我们通过使用editbin.exe (包含在VS2015中,但似乎不包含在VS2017中......)使aspnet_merge.exe具有大地址意识来解决这个问题。

editbin /LARGEADDRESSAWARE "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\aspnet_merge.exe"

于 2018-10-15T13:00:47.107 回答