问题标签 [aspnet-compiler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
2470 浏览

c# - ASP.Net 上的预编译和启动时间

我正在 ASP.Net 2.0 中开发一个(相对较小的)网站。在交付可执行文件之前,我还在使用 nAnt 对我的项目进行一些简单的调整。在当前状态下,该网站是使用“预编译”的

aspnet_compiler.exe -nologo -v ${Appname} -u ${target}

我注意到,在重新启动 IIS 池后(在空闲关闭或回收之后),应用程序最多需要 20 秒才能重新联机(并且达到 Application_start)。

当我直接在 Visual Studio 中调试时(启动需要 2 秒),我没有遇到同样的问题,所以我想知道 aspnet_compiler 是否真的是个好主意。

我在 MSDN 上找不到太多。您如何编译您的网站以进行生产?

0 投票
5 回答
6835 浏览

asp.net - 为什么 aspnet_compiler.exe 这么慢(并且可以做得更快)?

在我们的构建过程中,我们aspnet_compiler.exe针对我们的网站运行,以确保 ASP.NET/MVC 中的所有后期绑定的东西都实际构建(我对 ASP.NET 一无所知,但我确信这是防止在运行时发现故障所必需的)。

我们的网站规模相当大,有几百个页面/视图/控件/等。但是,在 10-15 分钟范围内所花费的时间似乎过多(作为参考,这比编译大约 40 个项目的整个解决方案所需的时间要长,而且我们只预编译了两个网站项目)。

我怀疑硬件是问题,因为我在最新的四核 Intel 芯片上运行,配备 4GB RAM 和 WD Velociraptor 10,000rpm 硬盘。奇怪的是,EXE 似乎并没有使用太多的 CPU (1-5%),而且似乎也没有做太多的 I/O。

那么......这是一个已知问题吗?为什么这么慢?有什么办法可以加快速度吗?

注意:为了澄清人们已经回答的一些事情,我并不是在谈论 Visual Studio 中的代码编译。我们已经在使用 Web 应用程序项目,编译速度不是问题。问题是作为开发构建脚本的一部分,这些项目已经被编译(有关更多详细信息,请参阅此 MSDN 页面)之后对站点进行预编译。我们正在执行就地预编译,而不是将文件复制到目标目录。

0 投票
8 回答
16754 浏览

aspnet-compiler - aspnet_compiler ASPParse 无法加载类型

我无法在我们的构建环境中构建我的 Web 应用程序(不是网站)。我们在构建环境中使用 DMAKE(不幸的是,这是不可协商的,因此不允许使用 MSBUILD)以及通过调用 asp.net 预编译器时

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -d -nologo -p 站点 -f -fixednames -errorstack -v / 调试

我们得到以下错误

错误 ASPPARSE:无法加载类型 'XYAdmin.Site.Global

如果我从 ide 编译它是成功的。如果我然后用 aspnet_compilier 编译它是成功的。因此,当我尝试编译的目标 dll 位于我正在编译的 Web 应用程序的 bin 中时,我只能使用 aspnet_compiler 成功编译。

我不断遇到有关使用 MSBUILD 的解决方案的帖子,不幸的是我无法尝试。

任何帮助,将不胜感激

0 投票
2 回答
1217 浏览

asp.net-mvc - 如何从命令行发布 ASP.NET MVC 项目?

我有一个现有的网站,它监视 SVN 存储库的更改,当签入时,新网站是使用 aspnet_compiler 构建的,然后生产站点上的内容的差异是 sftp 到生产网络服务器。整个持续集成过程是使用 Cruisecontrol.net 构建的。

我已经重构了整个站点以使用 ASP.NET MVC,现在我正在尝试将其集成到我的构建过程中。这似乎已经改变了,我没有得到与以前的 MVC 站点相同的行为。不幸的是,我没有取得太大进展,因为似乎还没有人这样做。有没有人有这样的东西可以以任何形式工作?

像“常规项目”一样使用“devenv”自动化命令行也不起作用。有 /Build 命令行开关,但它们只是就地构建。此命令行不公开 UI 中内置的“发布”机制。项目目录中甚至还有一个 {Project Name}.Publish.xml 文件,它看起来像是需要发布的清单。只是没有办法自动化。

我只是想从命令行模拟 VS 2008 MVC 项目中构建菜单下的“发布 {项目名称}”。

0 投票
16 回答
35479 浏览

visual-studio-2008 - 不允许循环文件引用

我在 VS2008 中构建解决方案时遇到问题。通常,它在环境中编译得很好。有时,它会失败:

我重建,它工作正常。

然而,现在我正在设置 CruiseControl.NET 系统,并在将构建集成到 CC 之前使用 MSBuild 测试我签出的代码。现在,每次我进行 MSBuild 时,我都会得到:

问题是,我看不到这个引用在哪里。

  • 我已经在整个解决方案中搜索了引用,并且除了在页面或其代码隐藏或字符串中之外的任何地方都找不到对页面本身 (CMSManagedTargetPage) 的引用,例如:

    C:\dev2008\xxx\IWW.xxx.ASPNET\AspxHttpHandler.cs(82): inputFile = context.Server.MapPath("~/secure/CMSManagedTargetPage.aspx"); C:\dev2008\xxx\IWW.xxx.ASPNET\AspxHttpHandler.cs(83): virtualPath = "~/secure/CMSManagedTargetPage.aspx";

我的程序集引用也很好(据我所知)。我的 Web 应用程序位于依赖项的“顶部”,没有任何内容引用它,因此错误页面不会导致循环引用。当然,页面本身可能会引用同一个程序集/网站中的 UserControl 等内容,但如前所述,在 CMSManagedTargetPage 上的搜索没有产生任何结果,因此不会发生这种情况。

更改 web.config 中的批处理属性对 MSBuild 没有影响。

我发现它“有时”在 VS 中失败并且在 MSBuild 中总是失败,这很奇怪。我错过了一些微妙之处吗?

0 投票
1 回答
2180 浏览

publishing - 如何使用 aspnet 编译器发布到服务器

当前我正在尝试使用批处理文件发布 usinf aspnet 编译器

开始 /b C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -p "C:\cc\titr\code\" TargetPath="C:\cc\titr\code\deploy\" 强制=“真”调试=“真”

给我错误 1010 文件路径无效。知道我在哪里做错了。因为路径是正确的

0 投票
1 回答
4957 浏览

msbuild - 无法使用 msbuild 或使用 cc.net 的 aspnet_compiler 发布

我正在尝试自动发布在 cc.net 中具有许多解决方案的项目。我正在使用 msbuild,它又调用 aspnetcompiler xml 文件。问题是我的目录包含许多解决方案,当我运行 aspnetcompiler 时,它给了我以下错误。

errorASPCONFIG:使用注册为 allowDefinition='MachineToApplication' 的部分超出应用程序级别是错误的。此错误可能是由于虚拟目录未在 IIS 中配置为应用程序所致

我已经尝试了许多论坛上给出的所有可能的解决方案。但我很困惑如何明确告诉 aspnet_compiler 执行 20 个项目中的一个特定项目。

这是我的 AspNetCompilerConfiguration.xml 文件

现在我想运行 C:\cc\test\code\Com.Project1.sln。但我不知道如何告诉 aspnet 编译器。任何想法如何做到这一点,然后发布。

0 投票
1 回答
1330 浏览

msbuild - 发布时出现无法加载类型错误

尝试使用 aspnet_compiler 发布后出现以下错误

任何想法如何解决它们

0 投票
1 回答
1688 浏览

c# - 在命令行使用 aspnet_compiler 抑制编译器警告

在命令行中使用 aspnet_compiler.exe 警告时,是否有抑制特定编译器警告的开关?

我已经尝试自己修复错误,而不是忽略它们 - 它们适用于从未使用过的事件。我只是注释掉了这些事件,但这导致了其他问题!就好像它们已被使用但编译器无法识别(这似乎不太可能)。

我正在从命令行调用编译器,并且正在使用 Visual Web Developer Express,它在 Visual Studio 完整版中的“项目属性构建”对话框中没有详细的构建选项。

0 投票
1 回答
830 浏览

asp.net - ASP.NET 控件上的事件处理程序属性的属性如何具有前缀(Load 事件处理程序的 OnLoad)

这只是为了更好地理解 ASP.NET 框架。当您以声明方式使用控件(即 Web 表单标记)时,您可以使用以 开头的属性按方法名称分配事件处理程序On

但是,当您查看 System.Web.UI.WebControls.Button 类时,它有一个名为 EventHandler 的属性Click,委托被分配给:

那么这是如何实现的呢?这只是解析器遵循的约定吗?

我知道,这是一个奇怪的问题,答案只会满足我的好奇心。