我终于完成了我的网站.我发表了它,我对结果感到惊讶.虽然App_Code编译成单个DLL文件,但每个页面的代码后面都编译成了自己的DLL文件.如何使它成为一个DLL文件?
此外,是否可以将所有内容(SubSonic,AJAX等)编译到同一个DLL文件中?
asp.net dll web-deployment-project compilation visual-studio
我知道git是什么以及如何使用它(一点点),但有一个概念我仍然不完全理解.我听说很多Web开发人员最近说他们使用git进行每个web项目,即使他们没有合作,他们只是使用git作为FTP替代品,事实上他们声称FTP是上传你网站的旧方法.
我的问题是,如何使用git上传我的网站而无需支付像beanstalk这样的服务?
真的FTP被认为是一项旧技术,我们应该使用git吗?
非常感谢
我在Visual Studio 2008中使用Web部署项目,以便将我的ASP.NET应用程序(ASP.NET Web应用程序,而不是 ASP.NET Web站点)准备好复制到多个服务器.我必须通过FTP将文件复制到不同服务器上的本地登台服务器上,有时我必须从客户的服务器上获取它们.
因此,以紧凑的形式部署所有文件并不需要在源和目标之间进行大量比较会很好.Web部署项目具有以下优点:将所有aspx和ascx文件编译为单个(附加)程序集.
我以某种方式找到了如何摆脱服务器上的aspx占位符文件,现在我想知道是否有一种(可能是自制的)方法来摆脱这些.compiled文件.
.Compiled文件是Web站点中每个页面和控件的标记文件,用于标识程序集内部使用的类.这些文件不是可选的,因为它们将ASPX页面映射到预编译程序集中相应的预编译类.如果删除.Compiled文件,它映射的页面将无法执行,并且会出现令人讨厌的执行错误.
任何有创意的人,可能使用模块/处理程序拦截对.compiledbin文件夹中的文件的检查?
我已经阅读了同一个问题上发布的许多其他问题,但我仍然不明白原因以及如何防止它发生.
就我而言,这发生在生产服务器上.我得到了其他问题中描述的相同错误,我通过将程序集重新复制到bin目录来解决它.它们甚至不是重新编译的文件,它们与之前的文件相同 - 再次复制,然后它开始工作没有问题.
奇怪的是,我正在使用Web部署项目将我的所有程序集文件重命名为基于文件夹的dll.所以folder.dll和folder.subfolder.dll而不是App_Web_jt8nxllz.dll.但该错误仍然命名原始的App_Web_jt8nxllz.dll文件.
删除C:\WINDOWS\Microsoft.NET\Framework[64]\v...\Temporary ASP.NET Files文件夹的内容是有效的,一切都很好,但有谁知道如何防止这种错误发生?此外,当它在生产服务器上发生时,关闭IIS或重新启动它实际上并不可行.也许自动清理调度程序上的Temp文件夹?
这里真正的问题是什么?有什么特别的东西会导致这种情况发生吗?该网站将毫无问题地嗡嗡作响,然后突然之间,整个文件夹停止工作并产生此错误.
Could not load file or assembly 'App_Web_jt8nxllz, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Exception type 'System.IO.FileNotFoundException' was caught.
Source: App_Web_whv5zsvd
Target Site: Void __BuildControlTree(ASP.artists_controls_artistheader_ascx)
Stack Trace:
at ASP.artists_controls_artistheader_ascx.__BuildControlTree(artists_controls_artistheader_ascx __ctrl)
at ASP.artists_controls_artistheader_ascx.FrameworkInitialize()
at System.Web.UI.UserControl.InitializeAsUserControlInternal()
at System.Web.UI.UserControl.InitializeAsUserControl(Page page)
at ASP._artists_artist_master.__BuildControlctlArtistHeader()
at ASP._artists_artist_master.__BuildControlctlContent(Control __ctrl)
at System.Web.UI.CompiledTemplateBuilder.InstantiateIn(Control container)
at ASP.master_mysite_master.__BuildControlMainContent()
at ASP.master_mysite_master.__BuildControlform1()
at ASP.master_mysite_master.__BuildControlBody()
at ASP.master_mysite_master.__BuildControlTree(master_mysite_master __ctrl)
at ASP.master_mysite_master.FrameworkInitialize()
at System.Web.UI.UserControl.InitializeAsUserControlInternal()
at System.Web.UI.MasterPage.CreateMaster(TemplateControl …Run Code Online (Sandbox Code Playgroud) 我正在使用Visual Studio 2008上的Web部署项目部署预编译和整页合并的网站.请注意,所有程序集和项目都已在发布模式下编译.
我的所有页面都是在发布模式下预编译的.因此它们不会被重新编译,它们只会被运行时加载.在这种情况下,当不需要页面编译时,<compilation debug="true">system.web中的设置会有什么不同吗?
对于VS2010,在我利用Web部署项目(WDP)帮助打包我的网站进行生产部署之前.我有一个MSBuild脚本,它在发布模式下编译了解决方案.其输出是由WDP编译和清理的生产就绪网站文件.
我看到2012年WDP已被删除,并且已在Web应用程序的属性中创建了一个新选项卡.选项是相同的,但现在通过Publish选项(在刚刚在发布模式下编译之前)调用它.
所以问题是这个.从MSBuild脚本,我如何调用发布操作?我发现了一些旧帖子......
msbuild /target:publish
Run Code Online (Sandbox Code Playgroud)
会做的伎俩.但这似乎在2012年没有奏效.
另外,我尝试了我的msbuild任务......
<MSBuild Properties="Configuration=Publish;"
StopOnFirstFailure="true"
Projects="$(BuildDirectory)\MySolution.sln"></MSBuild>
Run Code Online (Sandbox Code Playgroud)
......但msbuild刚刚报道了"未知配置".
如何msbuild从命令行运行发布选项?
我正在使用Jenkins配置CI构建服务器.在构建步骤之后,我想部署网站.
从Web Deploy发布的VisualStudio发布网站时.我喜欢这种方法,因为它实际上发布了那些已经改变的文件,所以部署非常快.
现在在构建服务器上我正在尝试做同样的事情:构建应用程序(使用MSBuild.exe),然后部署应用程序(使用MSDeploy.exe?).
我已经看到他们使用MSBuild.exe和其他人使用部署应用程序的一些帖子MSDeploy.exe,那里有显着的差异吗?
你有什么建议可以帮助吗?
谢谢,先进.
我正在使用Web部署项目,并希望使用emlah/errorMail部分替换部分.我不想在调试构建模式下发送电子邮件.
我创建了自定义部分并将其放在errorMail.config中.在替换下的Web部署项目的属性中,我有elmah/errorMail = errorMail.config.
我得到的错误是为elmah/errorMail创建配置节处理程序时出错:无法加载文件或程序集'Elmah'或其依赖项之一.该系统找不到指定的文件.
我猜这种情况正在发生,因为Elmah不在GAC中,或者它不是我的项目之一.Elmah.dll文件确实复制到output\bin文件夹就好了.
有没有办法让部分替换与第三方dll一起使用?
[编辑]
我发现,如果我将有问题的dll放入Web部署项目的项目文件夹中,它将正常工作.这不是最佳的.
所以现在我的问题是,如何在不必将dll放入GAC或将dll复制到Web部署项目文件夹中的情况下使用它?
一切都按预期工作,但我想改进.zip生成的目录结构.
当我创建一个部署包时,我在一个自定义目录中创建它可以正常工作,但它创建的.zip是在以下结构中:
content/c_c/users/pcName/documents/VS2010/Projects/ProjectName/obj/release/package/packageTmp
Run Code Online (Sandbox Code Playgroud)
只有在packageTmp目录中才能找到我想要的文件!
有没有办法让创建的zip不包含所有这些空目录?
我有asp.net core 2 应用程序。根据文档,我.pubxml为我的开发环境创建了文件。我正在使用 Web 部署(远程代理)将 Web 包部署到目标 Web 服务器。在我们安装了 jenkins 的构建服务器上,我运行以下命令来构建和部署
D:\Jenkins\myproject\workspace\myapplication\Src\Api>dotnet publish Api.csproj /p:PublishProfile=development.pubxml
Run Code Online (Sandbox Code Playgroud)
它成功构建应用程序并将其部署到目标 Web 服务器。
但是,我的应用程序有多个appsettings特定于每个环境的文件。例如appsettings.json,appsettings.development.json,appsettings.staging.json和appsettings.production.json部署过程部署所有的AppSettings文件到Web服务器。(在这种情况下开发网络服务器)
我如何只包含特定于环境的 appsettings 文件?(在这种情况下,我想部署appsettings.json,appsettings.development.json但不是其他 2 个文件)
msbuild web-deployment-project web-deployment coreclr asp.net-core-2.0