我正在开发一个ASP.NET Web窗体应用程序(.NET 4.0 VS 2010)。最近我们遇到了阻碍我们发布过程的问题。
具体来说,我们发现自己无法发布我们的网站(预编译)。在我们所有的开发人员环境(3个开发人员)中,构建过程似乎停滞/挂起 - 没有任何错误报告。有时,它似乎成功但只出现了几个已编译的DLL和.compiled文件(少于约350个文件中的10个)。
我已从源代码库加载了我们项目的各种修订版,包括以前工作过的最新版本和非常旧版本。它在开发人员环境中发生的事实表明问题是由于我们提交的一些更改,但是问题是在应用程序的最新版本和旧版本中发生的事实可能暗示其他情况。
互联网搜索此问题并未发现任何重大问题。我尝试过的事情包括以下内容:
在构建期间检查CPU使用情况时,devenv.exe进程的CPU使用率在大多数情况下都在0.10%以下(仅在开始时有一些峰值)。
我感谢任何人都可以通过此
提供的帮助更新:我们发现最终发布成功,但有时我们会在成功之前获得一系列失败。根本没有一致性......似乎是随机的。
答案 0 :(得分:1)
问题似乎是由我们安装的McAfee病毒扫描软件引起的。
只有使用管理员权限,我们才能暂时禁用实时扫描,并且一旦我们完成,ASP.NET Publish几乎可以立即成功完成。
对于这种情况下的其他任何人来说,正是迈克菲的防病毒软件导致了这个问题。我检查了日志中的防病毒软件,并且没有证据表明该软件阻止了与Visual Studio进程相关的任何内容或者在构建和发布过程中操作的文件夹(例如,ASP.NET临时文件文件夹)。
具体来说,csc.exe(C#编译器)和devenv.exe(Visual Studio)进程遇到了McAfee问题。这些流程被添加为“低风险流程”和“低风险流程”。到访问扫描程序'解决问题。
答案 1 :(得分:1)
我在Server 2016上遇到了与Visual Studio 2015相同的问题。通过以管理员身份运行VS,部分解决了该问题。然而,明显的根本原因是病毒扫描 - 在这种情况下,ESET-不是作为文件安全而是作为工作站安装的。我发现ESET的许可证代码的每个条目似乎都有效 - 然后ESET报告它仍然需要验证。卸载严重选择的ESET并重新安装正确的许可产品,并且无论是否完成预先发布,发布都可以!感谢以前的病毒扫描提示!
答案 2 :(得分:0)
我看到你不让允许此预编译网站可以更新,因此您的发布可能会尝试更新它认为已更改的内容。
尝试删除所有文件(将现有文件复制到新位置或重命名文件夹,如果需要),然后再次尝试发布。