.NET解决方案下的部署工具

2023-12-22

我们都使用 Web 应用程序、Windows 应用程序、数据库、帮助文件、配置文件和注册表值编写代码,无论是小型(例如一个 .exe)还是大型应用程序(完整的解决方案)...

我的问题很简单,在我看来,现在我需要在一个安装设置中部署一个 Web 应用程序和一个 Windows 应用程序:

你用什么来部署 您的应用程序,关于创建 的帮助文件,数据库脚本所以 我们可以创建一个数据库并 桌子, 创建一个虚拟的 目录对于网络应用程序, 添加注册表值跟...共事 我们的Windows应用程序?

我刚刚从 Visual Studio 2008 打开“安装和部署”,但是我的问题还是它缺少很多此类功能?有什么最糟糕的尝试吗?

I know 创新设置 http://www.innosetup.com/他们在公司使用的,但它并不能解决所有问题,我应该看到什么好的教程吗? 在我的搜索中我发现一些产品 http://www.visualstudiogallery.com/Results.aspx?CategoryId=3f790e6a-d276-4f61-9f44-e99dda83288c in 视觉工作室画廊 http://www.visualstudiogallery.com/,但没有一个是一体化的:(

谢谢。


我已经写了一篇非常详细的博客文章,使用 TeamCity 和 Web 部署项目来自动化构建和部署,作为入门:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

然后我添加了此内容以显示 FTP 添加

http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

基本流程非常简单:

  • 使用我从 SVN 存储库下载的 teamcity 构建服务器
  • 我构建站点并将其部署到构建服务器上的本地文件夹
  • 我启动了一个支持脚本的命令行 FTP 客户端,名为
  • WinSCP 使用 MSBUILD 任务 EXEC (http://winscp.net/ http://winscp.net/)
  • 上传我的所有网站内容
  • 有选择的[插入饮料]

然后,我确保只部署 SVN 存储库的主干,并在合并之前开发和测试分支中的所有内容 - 这样只有经过测试的内容才会被部署。将自动化测试添加到您的构建周期中,您就获得了天作之合。

一些很棒的免费工具包括:

  • TeamCity(20 个以下构建配置免费) http://www.jetbrains.com/teamcity/
  • Bamboo http://www.atlassian.com/software/bamboo/

一些提供此功能的非免费在线服务:

  • OnCheckin持续部署 https://oncheckin.com
  • 应用港 https://appharbor.com
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET解决方案下的部署工具 的相关文章

  • CLSCompliant(true) 拖入未使用的引用

    任何人都可以explain以下行为 总之 如果您创建多个符合 CLS 标准Visual Studio 2008 中的库并让它们共享公共命名空间根 引用另一个库的库将require对该库的引用的引用 即使它不消耗它们 用一句话来解释是相当困难
  • 如何在c#中生成8字节GUID值? [复制]

    这个问题在这里已经有答案了 可能的重复 如何从 GUID 生成 8 字节唯一 ID https stackoverflow com questions 5678177 how to generate 8 bytes unique id fr
  • Api 控制器中长时间运行的任务(使用 Web API,自托管 OWIN)

    我想在自托管 OWIN 环境中的 ApiController 中运行长时间运行的任务 例如 4 5 分钟 但是 我想在开始该任务后 一旦开始长时间运行的任务 就发回响应 而不等待它完成 这个长时间运行的任务与 HTTP 无关 并且顺序运行一
  • 如何在没有 Startup 类的情况下以编程方式启动 .NET 6 最小 API

    我正在尝试对我们的提供商项目实施 PactNet 合同测试 然而问题是 我们使用的是 Minimal API 因此我们没有将 Startup cs 和 Program cs 类全部整合到一个 Program cs 中 这提出了一个问题 因为
  • Python tkinter.filedialog Askfolder 干扰 clr

    我主要在 Spyder 中工作 构建需要弹出文件夹或文件浏览窗口的脚本 下面的代码在spyder中完美运行 在 Pycharm 中 askopenfilename工作良好 同时askdirectory什么都不做 卡住了 但是 如果在调试模式
  • 在 .Net 中保持 Powershell 运行空间打开

    我正在尝试从 VB Net 中运行一些 PowerShell 代码 如果您知道的话 C 编码器也可能会有所帮助 代码的第一部分 我需要使用密码连接到 na 控制器 并且需要保持连接打开 我还有其他命令需要通过单击按钮来运行 获取文件 显示文
  • 我应该如何缓冲绘制的矩形以提高性能(C#/.NET/WinForms/GDI+)

    我在做什么 我正在开发一个 C NET 4 7 2 WinForms 应用程序 它使用以下命令在表单上绘制大量填充矩形Graphics FillRectangle https learn microsoft com en us dotnet
  • 使用Azure Service Fabric的默认客户端时如何向请求添加消息头?

    我想知道是否可以将自定义消息头注入到传出请求中以携带附加信息 而无需反序列化有效负载来完成身份验证 验证或请求关联等功能 例如通过消息检查器提供的 wcf Update 使用 SDK v2 您现在可以 相对 轻松地修改 Reliable S
  • 捕获特定的 WebException (550)

    假设我创建并执行一个System Net FtpWebRequest 我可以用catch WebException ex 捕获此请求引发的任何与 Web 相关的异常 但是 如果我有一些逻辑只想在由于以下原因引发异常时执行 550 file
  • 真的不可能使用返回类型重载吗?

    我用两种方法在MSIL中制作了一个小DLL float AddNumbers int int int AddNumbers int int 你们中有些人可能知道 MSIL 允许您创建具有相同参数的方法 只要您具有不同类型的返回类型 称为返回
  • C# 中的空“if”语句是否会导致错误或警告?

    让我从一个现实生活中的例子开始 顾客 Alex 刚刚注意到 RemovalProcessor 第 138 行有一些奇怪的东西 if Session Handler ExecutePrefetchTasks null Session Exec
  • 如何在Web网格的列中编写IF条件

    我在 WEB GRID 列中创建 if 条件时遇到错误 所以 请帮助改进我的代码并解决我的问题 grid Column Status format item gt
  • 删除 TableLayoutPanel 中的特定行

    我有 TableLayoutPanel 我以编程方式添加行 用户基本上选择一个属性 然后与一些控件一起显示在表中 我想我在这里有一个一般性的理解问题 我会尽力解释它 每行中的控件之一是 删除 按钮 该按钮应该删除它所在的行 我所做的是将事件
  • 检查 DBNull 会引发 StrongTypingException

    我正在使用数据集从数据库中提取数据 一行中的一个字段是NULL 我知道这个 但是 以下 vb net 代码会抛出StrongTypingException 在数据集设计器中自动生成的 get SomeField 方法中 If Not IsD
  • 如何转义 HTML 字符?在.NET中-->“

    如何在 NET 中转义 HTML 字符 我正在从 json 字符串中获取 html 并在标题中得到 amp quot more text 看起来我需要做两次才能得到 amp quot 成为 quot 那么它就是一个 如何转义 NET 中的所
  • 模拟对象 - 将所有方法声明为虚拟方法还是使用接口?

    与 Java 不同 net 中的方法默认不是虚拟的 为了使用大多数模拟对象框架 您要么必须将要在模拟上使用的方法标记为 真实 对象上的虚拟方法 要么必须有一个可以模拟被测试类将使用的接口接受代替执行 将每个方法标记为虚拟似乎是一种不好的形式
  • 什么可以解释托管堆上超过 5,000,000 个 System.WeakReference 实例?

    我一直在针对生产 ASP NET Web 应用程序运行负载测试 并且看到在堆上创建了大量 System WeakReference 在大约 15 分钟内 负载管理堆内存已飙升至大约 3GB 并且我有大约 5 000 000 个对 Syste
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 线程睡眠和Windows服务

    我正在开发一个 Windows 服务 该服务存在一些问题Thread Sleep 所以我想我会尝试使用计时器 因为这个问题建议 在 Windows 服务中使用 Thread Sleep https stackoverflow com que
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo

随机推荐

  • OpenGL:透明纹理问题

    我在 OpenGL 中遇到纹理透明度问题 正如您在下图中看到的 它不太有效 值得注意的是 黑色实际上是 ClearColor 我用来清除屏幕 我使用以下代码来实现混合 glEnable GL BLEND glBlendFunc GL SRC
  • 如何将图标(图像、徽标..)添加到状态栏

    我注意到 StatusBar 组件 React Native 没有道具可以包含任何类型的图标或徽标 如本文档中所示 https facebook github io react native docs statusbar html stat
  • 操作按钮未覆盖整个工具栏

    我使用工具栏来显示四个操作按钮 当我用菜单膨胀工具栏时 操作按钮显示在一侧 如图所示 如何让这些操作按钮覆盖整个工具栏 这是活动的代码 public class ResultActivity extends FragmentActivity
  • jQuery的scrollTop()方法不起作用

    我有以下 jQuery 代码 document ready function navtoTop click function html scrollTop topofthePage offset top 其中 navtoTop 是按钮的类
  • 带有 AVSEEK_FLAG_ANY 的 ffmpeg av_seek_frame 会导致灰屏

    Problem omxplayer的源码调用了ffmpegav seek frame 方法使用AVSEEK FLAG BACKWARD旗帜 虽然不是 100 确定 但我相信这会寻找最接近的 i 框架 相反 我想寻找确切的位置 所以我修改了源
  • jQuery on("paste") 第一次没有抓取或传递值

    对我来说是真正的问题 因为我不知道解决它 我编写的 jQuery 脚本应该获取 粘贴 操作的输入值 并通过 ajax 将其传递给 codeigniter 控制器 它实际上工作得很好 但前提是我第二次 以及以后 粘贴该值 当我将某些 div
  • 对 Guava BiMap 进行排序

    我是 Guava 库的新手 但发现 BiMap 非常适合我的需求 我的一个问题是我需要对 BiMap 中的值进行排序 通常 我会使用 TreeMap 因为它继承排序 但必须能够反转映射以查看键 就好像它们是值一样 所以我一直在寻求各位专家关
  • 我可以影响 VoiceOver 转子中显示的内容吗?

    我有一个基于文本的应用程序 我希望我的用户在启用 VoiceOver 时使用 线路 转子选项 但是该选项没有出现 我的应用程序中的文本是使用表格视图中的单元格进行布局的 单元格包含 UILabels 和其他视图 我担心我的实现会影响转子 看
  • Pytesseract 提高 OCR 准确性

    我想从图像中提取文本python 为了做到这一点 我选择了pytesseract 当我尝试从图像中提取文本时 结果并不令人满意 我也经历过this https stackoverflow com questions 9480013 imag
  • 如何确保调用/扩展类时加载正确的类文件

    我做了眉毛那个问题页面 https stackoverflow com questions 5116421 require once failed to open stream no such file or directory但我觉得给出
  • Glassfish 与 Tomcat 的 RESTful 服务

    我有 net 开发背景 但对 Java 世界还比较陌生 我们已经开始使用 JAX RS 开发 RESTful 服务 公共 Web API 主要由移动平台 Android iPhone Windows Phone 等 使用 我们需要一些指导来
  • 您更喜欢使用 del 还是重新分配为 None (垃圾收集)

    考虑以下代码 if value and self fps display is None self fps display clock ClockDisplay elif not value and self fps display is
  • 如何杀死 ctrl + C 上 shell 脚本打开的所有进程?

    我有几个 python 脚本 它们是从 shell 脚本共同启动的 如下所示 bin bash python prog1 py python prog2 py python prog3 py 由于我正在开发 我经常想停止这些过程 我通常通过
  • 如何在 Android 8.0 中检测通知通道被用户阻止

    当用户阻止我的应用程序创建的通知通道时 我的应用程序是否会收到任何回调 或者稍后可以检测到 从Android P开始 对此有系统广播 https developer android com reference android app Not
  • 如何使用 Angular 7 从另一个组件访问组件值

    我使用此代码来访问从组件 StripeComponent 到 CreditCardComponent 的 地址 值 我得到的地址为空值 而不是 StripeComponent 中的实际值 这是我在 CreditCardComponent 中
  • 设计基于钥匙的锁(或锁映射)

    我正在尝试设计一种基于密钥的锁定设施 类似于普通的可重入锁 但不是lock 和unlock 而是lock key 和unlock key 并且没有人会这样做的合同如果 key equals key1 则能够同时锁定 key1 这段代码可以工
  • 是否有类似于 Class#inherited 的钩子,仅在 Ruby 类定义后触发?

    inherited在之后立即调用class Foo陈述 我想要一些只在之后运行的东西end关闭类声明的语句 这是一些代码来举例说明我所需要的 class Class def inherited m puts In inherited for
  • 警告:simplexml_load_file() [function.simplexml-load-file]:I/O 警告:无法加载外部实体

    警告 simplexml load file function simplexml load file I O 警告 无法加载外部实体 USD en productdata USD en productdata xml the code s
  • 如何调试从 TeamCity 部署的 nuget 包?

    我已将我的团队使用的库放入 nuget 包中 该包从 TeamCity 部署到网络文件夹中 但我无法调试这段代码 SymbolSource 是我读过的一种解决方案 但我更愿意找到某种方法来直接从 TeamCity 访问 pdb 源文件 有谁
  • .NET解决方案下的部署工具

    我们都使用 Web 应用程序 Windows 应用程序 数据库 帮助文件 配置文件和注册表值编写代码 无论是小型 例如一个 exe 还是大型应用程序 完整的解决方案 我的问题很简单 在我看来 现在我需要在一个安装设置中部署一个 Web 应用