当我从visual studio 2010使用Web部署时,我收到以下错误.Web部署任务失败.('Microsoft.Web.Deployment.DeploymentManager'的类型初始化程序引发了异常.)
我突然开始收到这个错误!我使用所有相同的设置多次发布我的网站,但突然间它开始给我这个错误.它可能是网站属性中的东西吗?我正在使用asp.net并拥有Windows 7并发布到Windows Server R2.请帮忙!
多年来我一直使用ClickOnce,但我遇到了很多局限.Web部署有哪些替代方案?
到目前为止,我唯一能够出现的是ClickThrough,它现在已成为WiX的一部分.还有其他人取得了成功吗?
我需要部署同一个LAMP(或LEMP)应用程序的许多实例:
申请要求:
Nginx,MariaDB,PHPFPM)composer,bower,...)在阅读了Docker文档和许多howtos之后,我看到了对这个Web应用程序进行docker化的不同解决方案:
所有堆栈都在一个容器中:
mysql和webapp数据文件例子 :
Tutum 为Wordpress应用程序提供了一个多功能的容器:https://github.com/tutumcloud/tutum-docker-wordpressPhusion,提供针对Docker优化的基本映像,在文档中进行了精确处理(https://github.com/phusion/baseimage-docker#docker_single_process):
Docker可以在容器中运行多个进程.事实上,没有技术理由说明为什么要将自己限制在一个过程中
优点(恕我直言):
缺点(恕我直言):
对于要部署的每个webapp,部署了一个容器堆栈:
Nginx,Mysql,PHP-FPM,composer,, bower...)也可以进行docker化,或者在phpfpm容器中合并例子 :
Gaudi提供了一个基于3个"守护进程"容器(nginx,mysql,phpfpm)和2个app容器(作曲家,凉亭)的LEMP架构示例(http://marmelab.com/blog/2014/06/04 /demo-symfony-with-docker-and-gaudi.html)亲(恕我直言):
缺点(恕我直言): …
我是新手Capistrano,我看到有共享文件夹和选项:linked_files.我认为共享文件夹用于在版本之间保存文件.但我的问题是,文件最终是如何进入共享文件夹的?
另外,如果我想将另一个目录符号链接到当前目录,例如某个路径上的静态文件夹,我该怎么把它放在linked_dirs?
最后,如何设置chmod 755为linked_files和linked_dirs.
谢谢.
有没有人知道是否有办法"转换"值的特定部分而不是替换整个值或属性?
例如,我有几个appSettings条目,指定不同Web服务的Url.这些条目在开发环境中与生产环境略有不同.有些不像其他人那么微不足道
<!-- DEV ENTRY -->
<appSettings>
<add key="serviceName1_WebsService_Url" value="http://wsServiceName1.dev.domain.com/v1.2.3.4/entryPoint.asmx" />
<add key="serviceName2_WebsService_Url" value="http://ma1-lab.lab1.domain.com/v1.2.3.4/entryPoint.asmx" />
</appSettings>
<!-- PROD ENTRY -->
<appSettings>
<add key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" />
<add key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)
请注意,在第一个条目中,唯一的区别是".prod"中的".dev".在第二项,子域名是不同的:"MA1-lab.lab1"从"ws.ServiceName2"
到目前为止,我知道我可以在Web中做这样的事情.Release.Config:
<add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName1_WebsService_Url" value="http://wsServiceName1.prod.domain.com/v1.2.3.4/entryPoint.asmx" />
<add xdt:Locator="Match(key)" xdt:Transform="SetAttributes(value)" key="serviceName2_WebsService_Url" value="http://ws.ServiceName2.domain.com/v1.2.3.4/entryPoint.asmx" />
Run Code Online (Sandbox Code Playgroud)
但是,每次更新该Web服务的版本时,我都必须更新Web.Release.Config,这会破坏我的web.config更新的目的.
我知道我也可以将该URL拆分为不同的部分并单独更新它们,但我宁愿将它全部放在一个键中.
我已经浏览了可用的web.config Transforms但是nothings似乎是我想要完成的东西.
这些是我用作参考的网站:
Vishal Joshi的博客,MSDN帮助和Channel9视频
任何帮助将非常感激!
-D
asp.net web-config transformation visual-studio-2010 web-deployment
我想让web.config转换在本地工作,但显然只在进行部署时才会发生转换.
有没有人知道如何运行msbuild目标"TransformWebConfig"而不通过"rebuild"进程,还指定并输出目录在哪里吐出转换后的web.config?
编辑:使用Sayed的答案,我创建了一个.bat文件来为我运行任务:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe "D:\Demo\Transformation.proj" /t:TransformWebConfig
copy /Y "D:\Demo\Web.config" "D:\MyProject\Web.config"
del ""D:\Demo\Web.config"
Run Code Online (Sandbox Code Playgroud)
"Transformation.proj"是Sayed的代码片段的副本,在下面的答案中.只需指定转换的源,目标和目标.新文件(在本例中为已转换的"web.config")将位于"D:\ Demo"目录中.我只是将其复制以覆盖我的项目的web.config,最后,删除"demo"文件夹中生成的文件.
另外,我创建了一个宏来运行这个批处理文件并为我执行转换:
Public Module DoTransform
Sub RunTransformBatchFile()
Try
Process.Start("D:\Demo\RunTransform.bat")
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
您还可以在工具栏上添加一个按钮来运行此批处理和/或指定要执行的快捷键.
asp.net web-config visual-studio-2010 web-deployment msdeploy
我们在开发过程中喜欢RequireJS和AMD,我们可以编辑模块,在浏览器中点击重新加载,然后立即看到结果.但是,当需要将我们的模块连接到单个文件进行生产部署时,显然必须有一个AMD加载器仍然存在,无论该加载器是RequireJS本身还是其较小的合作伙伴"杏仁",如下所述:
http://requirejs.org/docs/faq-optimization.html#wrap
我的困惑是:为什么装载机是必需的?除非你有非常特殊的情况使你有必要require()在你的模块内部进行调用,否则似乎可以连接一系列AMD模块而不需要加载器.最简单的例子是一对模块,如下所示.
ModA.js:
define([], function() {
return {a: 1};
});
Run Code Online (Sandbox Code Playgroud)
ModB.js:
define(['ModA'], function(A) {
return {b : 2};
});
Run Code Online (Sandbox Code Playgroud)
鉴于这两个模块,似乎连接器可以简单地生成以下文本,而不会使生产服务器或浏览器承受RequireJS或Almond所需的额外带宽或计算.
我想象一个产生的连接器(我使用V形符号«,»来显示上面两个模块的片段插入位置):
(function() {
var ModA = «function() {
return {a: 1};
}»();
var ModB = «function(A) {
return {b : 2};
}»(ModA);
return ModB;
})();
Run Code Online (Sandbox Code Playgroud)
据我所知,这可以正确地重现AMD的语义,只需要少量的外来胶水JavaScript.有这样的连接器吗?如果没有,我会因为认为我应该写一个而变得愚蠢 - 是否真的很少有代码库由简单而干净的模块组成,define()并且永远不需要进一步的require()调用来启动以后的异步代码提取?
我发现从Visual Studio发布网站时,它不会上传我的一个文件.它是一个带有'.cshtml'扩展名的Razor文件(它正在执行其他操作!)及其项目的一部分.
有什么想法会排除它吗?
我有Windows Server 2003(IIS 6.0)和Windows Server 2008(IIS 7.0)服务器,我使用MSBuild来部署Web应用程序.
我需要进行安全部署,并执行此操作:
停止IIS 6中的网站(或IIS 7中的应用程序),而不是停止AppPool.
检查网站是否停止; 没跑
如果网站已停止,请执行另一项部署任务.
启动IIS 6(或IIS 7中的应用程序)网站,
我怎样才能做到这一点?
更新:对我来说:IIS6WebSite和IIS6AppPool(以及IIS7),在尝试停止网站或AppPool时是否等待停止状态?
当我执行网站停止操作(或AppPool的停止操作)时,我需要确保100%网站已停止,然后,只有网站停止时,我才能执行其他目标.
我一直在学习如何在Electron中创建应用程序,我需要帮助将一个简单的项目编译为Windows可执行文件.该程序是这个Github回购的克隆:https://github.com/electron/electron-quick-start.在repo自述文件中,它显示了如何运行该程序:
# Clone this repository
git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
npm install
# Run the app
npm start
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我无法弄清楚如何简单地编译它.我看过谷歌,你会认为像部署应用程序这样简单的事情就是众所周知的信息.
javascript deployment desktop-application web-deployment electron
web-deployment ×10
asp.net ×3
c# ×2
javascript ×2
web-config ×2
.net ×1
almond ×1
amd ×1
asp.net-mvc ×1
capistrano ×1
clickonce ×1
config ×1
deployment ×1
docker ×1
electron ×1
iis-6 ×1
iis-7 ×1
lamp ×1
msbuild ×1
msdeploy ×1
publish ×1
requirejs ×1
wix ×1