问题标签 [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 投票
2 回答
402 浏览

c# - 在网站用户控件上运行 aspnet_compiler 时出错

我在 Visual Studio 中构建和运行良好,但是当我运行 Nant 任务来编译网站时,它给了我一个错误:

我有一个名为 ContactView 的用户控件,它有另一个名为 ContactForm 的用户控件。Contact Form 是具有 Name 属性的那个(内联声明,没有 .cs 文件)。我不明白为什么错误出现在父 UserControl 上,甚至根本不明白为什么它在抱怨。

当 VS2008 构建和编译它时,代码似乎运行得很好。

有任何想法吗?

我知道 nant 构建脚本适用于我的 2.0 网站,并且在这个网站 web.config 中我添加了 3.5 编译器。有什么我想念的吗?

编辑:此错误实际上显示在此用户控件和其他一些属性上的每个属性中。我不知道这个错误的单个实例是否导致多次失败,或者所有用户控件是否真的无效。

更新:该错误必须与框架的 v3.5 有关,因为它还抱怨自动属性。当我将它们切换为具有支持字段时,它会起作用。

0 投票
2 回答
201 浏览

aspnet-compiler - aspnet_compiler 看不到我的课

我有一个 Web 应用程序项目,使用 VS2008 可以很好地编译。但是,每次我尝试使用 aspnet_compiler 编译它都会失败并且无法看到我放置在代码文件夹中的类。为什么 aspnet_compiler 看不到我的课程,我该如何解决?

谢谢

0 投票
2 回答
1946 浏览

c# - aspnet_compiler 不会编译放置在 web 应用程序目录下的 c# 代码

多年来,我一直在 Visual Studio 中使用鼠标右键单击发布网站,除了手动工作过多之外,一切都运行良好。最近我改用构建脚本调用aspnet_compiler来发布ASP.NET Web应用程序。在我的构建脚本中,我会执行以下操作:

我的项目目录结构如下所示:

当调用 aspnet-compiler 时,一切正常,除了/src/website/code/ 下的 c# 代码不会被编译。在我看来,aspnet-compiler在 bll 目录下编译了 c# 代码,然后将 /src/website/ 下的所有内容复制到了发布目录(包括 /src/website/code/)。我不知道我是否没有使用正确的开关调用 aspnet-compiler 或者这是所需的行为?

请帮忙谢谢!

0 投票
4 回答
3541 浏览

asp.net - 使用 aspnet_compiler.exe 编译 .Net Web Apps

我的 .Net Web 应用程序的顶层有代码,我想对其进行单元测试,但是当我的构建服务器使用 aspnet_compiler.exe 编译项目时,它会生成一个完全不能被其他人使用的 .dll 文件项目,即一个 NUnit 测试项目。

(对于 ASP .Net Web 应用程序和 ASP .Net MVC 应用程序也是如此。)

我在这里做错了吗?这是我的调用编译器的 NAnt 脚本...

0 投票
1 回答
3263 浏览

asp.net - 已编译的程序集中缺少 ASP.global_asax

我正在使用 aspnet___compiler.exe 编译我的 asp.net 3.5SP1 网站,然后使用 aspnet_merge.exe 将程序集合并为一个。

然后将程序集上传到生产服务器。这通常工作得很好,但有时在登台服务器上进行测试时,我会收到以下消息:

Parser Error Message: Could not load file or assembly 'App_global.asax, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

在使用Reflector查看程序集并将其与同一程序集的工作版本进行比较时,我发现确实缺少 ASP.global_asax 类型。

当更改站点上的某些内容并再次编译时,我得到了一个包含“ASP.global_asax”的工作版本。

这有点烦人,我想知道这是否是某些特殊情况下编译器中的错误?

有没有其他人遇到过这个并发现如何解决它?

0 投票
3 回答
6106 浏览

asp.net - 如何使用 aspnet_compiler

看了这个[post][1],我想我会试一试。

所以,在我的后期构建活动中,我放了......

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler -v / -p "$(ProjectDir)\"

...然后单击构建解决方案。

不幸的是,我收到以下错误:“无法加载类型'MyWebProject.UI.Global'。C:\global.asax 1 MyWebProject.UI”

任何想法为什么?据我所知,我什至没有 C:\global.asax 文件。

最终,我希望能够检查我的 ASPX 页面是否有错误。目前,我可以做到这一点的唯一方法是导航到页面。

欢迎任何其他建议/方法!

谢谢,

ETF费尔法克斯

0 投票
3 回答
1416 浏览

msbuild - 如何让 aspnet 编译器处理包含包含文件的页面

我有一个 Web 应用程序,它位于我公司的共享托管平台上。该平台具有全局页眉/页脚代码,平台上的所有应用程序都使用包含文件使用这些代码。我无法更改头文件的结构以及它们的使用方式——这是由另一组指定给我的。我有一个没有按设计安装 IIS 的构建服务器。我试图在构建过程中使用 aspnet_compiler.exe 来生成用于部署的预编译网站文件。

但是,当构建运行时,我会收到如下错误:

/Company/Controls/Header.ascx(7):错误 ASPPARSE:无法映射路径“/sites/header.inc”。

Header.ascx 控件在 HTML 中有这个服务器端包含:

<!-- #include virtual="/sites/header.inc" -->

在我的本地机器上,我在 IIS 中创建了一个名为“sites”的虚拟目录,它指向全局标头代码(我也已将其复制到我的本地机器上)。这个相同的“站点”虚拟存在于托管环境的 IIS 中。我真的很想避免在构建机器上安装 IIS,因为它是一个共享的构建机器,我没有人会错误地将 IIS 依赖项添加到他们的代码中。构建机器不需要有 IIS。

在不安装 IIS 的情况下获取 aspnet_compiler.exe 在构建期间生成的预编译站点文件的最佳方法是什么?

0 投票
3 回答
2450 浏览

asp.net - ASP.NET 预编译的优势是什么?

使用 Aspnet_compiler.exe 代替传统的通过 Visual Studio 发布有多大用处?那么资源(resx)文件呢?

0 投票
1 回答
2032 浏览

aspnet-compiler - aspnet_compiler 网站项目

如果我使用本地 Web 服务器进行开发,是否可以在不安装 IIS 的情况下从命令行使用实用程序 aspnet_compiler 编译网站项目(3.5)?

谢谢

0 投票
1 回答
1371 浏览

c# - aspnet_compiler -fixednames 不起作用?

我无法获得 -fixednames 开关来为文件背后的 cs 代码创建 dll。bin文件夹中的文件是编译的aspx页面,但是文件后面的代码都编译成一个很大的websitename.dll文件。

这是我的开关命令。aspnet_compiler -v / -p E:\Source\DotNet4\mysolution\website -f -d -fixednames E:\Source\DotNet4\CompiledWebSite

这会在 bin 文件夹中生成许多文件。

website.dll 和 website.pdb(包含后面的代码) myform1.aspx.643c7876.dll(编译的 aspx 布局 ui)

我一遍又一遍地测试了这一点,以确保我没有遗漏任何东西。测试是在 myform1.aspx 上放置一个标签,并在代码隐藏中用一些文本填充标签。使用上述开关编译网站并部署网站。

更改 myform1 代码隐藏并更改标签文本。编译并仅将 myform1.aspx.643c7876.dll 部署到网站。结果:标签仍然相同。现在部署 website.dll 和 pdb 并更改标签。

谁能告诉我如何获得 -fixednames 来为代码隐藏创建单 dll?