问题标签 [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.
asp.net-mvc - Mono 上的 aspnet_compiler
我正在尝试为 ASP.NET MVC 3 网站编写构建脚本,以便在 Mono 上发布。尽管一些开发人员使用 Windows 进行开发,但该站点必须在 Mono 上构建,因为构建和 Web 服务器运行的是 OS X。我正在使用xbuild在 Mono 上运行 MSBuild 脚本。该网站可以编译没有太多问题。
但是,我无法在 Mono 上找到等效的 aspnet_compiler.exe。我找不到 AspNetCompiler 构建任务,谷歌搜索返回 [a stub implementation] 很久以前。
Mono 中是否存在 AspNetCompiler 任务?是否有在 Mono 上编译 ASP.NET 应用程序的替代方法?
msbuild - ASPNETCOMPILER : 'System.Data' 或其依赖项之一
我正在设置一个新的构建服务器。由于运行 32 位 msbuild 时出现此错误,我无法构建项目:
32 位 msbuild 调用:
我通过使用 64 位版本找到了一种解决方法:
使用 64 位版本的 msbuild 移动站点构建良好,但银灯项目将无法构建。
这是第22条!!!
如何告诉 32 位 msbuild 调用 64 位 aspnet_compiler?
如何更正 32 位 aspnet_compiler?
asp.net-3.5 - 如何让 Team Build 2010 将 Web 应用程序发布为不可更新?
我正在尝试将我们的构建从运行自定义 .msbuild 文件的 CruiseControl.NET 切换到 Team Build 2010。正在编译的应用程序是一个包含大量项目的 VS2008 解决方案,其中两个是 Web 项目。
使用 DefaultTemplate.xaml,这两个 Web 项目似乎部署到Binaries\_PublishedWebsites\(ProjectName)
. 该默认位置很好。但是,输出目录的内容似乎是可更新的,好像aspnet_compiler.exe
是用 调用的-u
,或者好像一个 MSBuild<AspNetCompiler>
任务是用 的Updateable="true"
。所以,两个问题:
- 如何使 Team Build 向
_PublishedWebsites
目录生成不可更新的输出? 我如何还设置 IIS VirtualPath,就好像我在 MSBuild 任务中执行以下操作一样:
/li>
我在之前的故障排除中发现,让 IIS 6 为aspnet_compiler.exe
在不可更新模式下编译的 Web 服务提供服务的唯一方法是在命令中指定虚拟路径,这就是我询问 #2 的原因。
编辑:
到目前为止看到一个答案后,我意识到我应该更清楚问题是什么。我意识到,如果我可以在 MSBuild 中做某事,我可以从构建模板中调用 MSBuild。但是,我想知道更多关于如何更改将输出复制到_PublishedWebsites
目录的内容。“找到复制网站并更改它的任务”会很好用,除了我看不到实际将输出复制到_PublishedWebsites
. 我真正想做的是修改模板中完成此操作的步骤。
构建日志引用了一个名为的编译目标_CopyWebApplication
,该目标似乎完成了复制 Web 应用程序所需文件的工作。但是,我不确定如何修改这个编译目标,因为我在构建模板的任何地方都没有看到它,也没有在解决方案的任何文件中看到它。此外,无论运行什么_CopyWebApplication
似乎都只为 Web 应用程序项目运行,而不是解决方案中的许多其他项目。这是一件好事,只是我不知道决定是否使用的逻辑存在于哪里_CopyWebApplication
。
也许我缺少一些默认的 MSBuild 文件?我可以使用的一些构建参数?如何更改上述构建步骤?
.net - 从命令行调用 MSBuild 时转义 DisabledWarnings 的正确方法是什么?
我尝试在参数中像这样转义分号:
/fileLoggerParameters:LogFile=msbuild.log;Append;PerformanceSummary;DisabledWarnings=1%3B2%3B3%3B40003%3B40055%3B42020%3B42021%3B42022%3B42025%3B42104%3BBC40003%3BBC40055%3BBC42020%3BBC42021%3BBC42022%3BBC42025%3BBC42104;WarningLevel=0;VbcVerbosity=Quiet /property:DisabledWarnings=1%3B2%3B3%3B40003%3B40055%3B42020%3B42021%3B42022%3B42025%3B42104%3BBC40003%3BBC40055%3BBC42020%3BBC42021%3BBC42022%3BBC42025%3BBC42104;WarningLevel=0;VbcVerbosity=Quiet
但在我的日志中,它仍然显示它们已转义:
我正在尝试抑制我不关心的这样的警告(aspnet_compiler.exe
我假设在幕后使用):vbc.exe
warning BC42020: Variable declaration without an 'As' clause; type of Object assumed.
warning BC42021: Function without an 'As' clause; return type of Object assumed.
warning BC42022: Property without an 'As' clause; type of Object assumed.
- 等等
更新:现在我不确定用引号转义是否有效。我仍然收到警告,我已经尝试过NoWarn
, DisabledWarnings
, /verbosity:quiet
,WarningLevel=0
并且VbcVerbosity=Quiet
似乎没有任何东西可以抑制它们。
更新 2:这是完整的构建命令:
和 Build.proj:
aspnet-compiler - aspnet_compiler 中的错误?
我有一个包含多个 Web 项目的解决方案。
我已将每个项目构建到自己的文件夹中(大约有 10 个项目):
如果我打电话
反过来,一切都很好。
如果我同时进行所有 10 次调用aspnet_compiler
,我会收到程序集加载错误,说明引用的程序集正在使用中。
这是一个错误吗?为什么会被使用?不应该。
无法加载的程序集位于多个项目中,但每个项目的 bin 文件夹中都有自己的副本。
更新:似乎(对于某些)作为引用的引用的程序集。那些加载了完整绑定信息的似乎可以工作。
这是来自其中一个失败加载的转储fuslogvw
c# - aspnet_compiler.exe 是特殊的吗?
我正在尝试为我正在处理的项目制作一个 ASP.NET 编译工具。使用 aspnet_compiler 确实可以很好地工作,但是自定义工具会更好地满足我们的目的。
但是,当我运行 ClientBuildManager.PrecompileApplication 方法时,我收到一个“MissingManifestResourceException”,抱怨“找不到适合指定文化或中性文化的任何资源”。
然后我反编译了 aspnet_compiler.exe 并使用了它的单个 Precompiler.cs 文件,它给出了相同的异常。
所以它不是我的代码,因为当我使用 aspnet_compiler.exe 源代码时会发生同样的问题,而是其他问题。
是什么让 aspnet_compiler 如此特别?
c# - 网页中的内联 C# 代码不会产生编译错误
我有一个 aspx 网页,后面没有代码,还有一些内联 C# 方法(webmethods),用于一个主要是静态的页面。
如果将以下代码行放在页面后面的代码中(该方法没有返回任何内容),则以下代码行将返回编译时错误
是否有编译器选项可以打开网页中内联 C# 代码块的编译时检查?
asp.net - aspnet_merge 导致 dll not found 错误
我使用 aspnet_compiler 来预编译一个 asp.net 网站。然后,我运行 aspnet_merge 将预编译的程序集合并为一个。
不幸的是,aspnet_merge 在其合并过程中不包括其中一个程序集。因此,该组件保持不变。更不幸的是,这个程序集引用了一个确实被合并(现在已被删除)的程序集,并且这个引用没有被 aspnet_merge 更新。因此,当使用此 dll 时,我得到一个FileNotFoundException“无法加载文件或程序集” 。
到目前为止,我发现在预编译步骤之后,大多数程序集都被命名为
而有问题的 dll 的名称如下:
我想这就是 aspnet_merge 忽略它的原因。我通过使用 -log 选项确认 aspnet_merge 会忽略它,它会生成一个输入程序集列表。
我这样调用 aspnet_compiler 和 aspnet_merge :
我目前正在查看反编译的 aspnet_merge 代码,试图弄清楚它在决定合并哪些 dll 时采用什么逻辑,但也许有人以前见过这个问题或有建议?
我正在寻找一种方法让 aspnet_compiler 生成 aspnet_merge 理解的 dll,或者让 aspnet_merge 更新所有引用它删除的任何 app_web* dll 的程序集。谢谢!
更新:aspnet_merge 忽略 App_Web_nameofusercontrol.ascx.xxxxxxxx.dll,因为 aspnet_compiler 不会生成相应的 .compiled 文件。此外,用户控件似乎也被编译到 App_Web_xxxxxxxx.dll 程序集中之一。但是,我不知道为什么同一个用户控件被编译成两个不同的程序集。也许是一个奇怪的循环引用问题?
asp.net - 在运行时将 ascx 文件编译成 DLL
在我们的 ASP.NET 应用程序中,我们允许其他开发人员编写 asp.net 代码,我们将他们的代码编译到内存中的 dll 中。
作为其中的一部分,我们希望能够在运行时将 ASCX 控件编译成 DLL,然后再将它们加载到 Aspx Pages 中。
我已经知道如何从路径加载 Ascx 控件(在我的情况下不起作用,ascx 文件内容很可能在 DB 中),只要我有 Control 对象,我就可以将它添加到 Page 控件层次结构.
所以对我来说关键是如何将运行时生成的 ascx 文件编译成DLL(内存中),这样当它们被请求时,我就可以将它们添加到 Aspx 页面中。
有什么建议么?
asp.net-mvc - IIS 6 中的 MVC3 .Net 预编译问题
我有一个 MVC3 C# .Net Web 应用程序,我在我的应用程序上运行 aspnet_compiler 以进行预编译。我正在运行这个命令:
Boe 是“默认网站”下开发结构中的应用程序。上面的命令产生了这个错误。
但是,模型不在我们的解决方案中。我们的模型对象位于我们的 Web 应用程序引用的域项目中。看来编译器期望在我们的 MVC 应用程序中有一个模型引用。这是真的?还是有其他原因导致此错误?