问题标签 [appharbor]

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 投票
1 回答
102 浏览

visual-studio - 将 Visual Studio 中的文件扩展名注册到构建操作

我的解决方案中有用于存储 jQuery 模板的 .tmpl 文件,为了让我的项目在 AppHarbor 上运行,我需要将每个文件的构建操作设置为“内容”。有什么方法可以让 VS 识别 .tmpl 文件并默认将它们设置为“内容”?如果我需要手动将所有现有文件设置为“内容”,我并不在意,尽管我预见到当我在功能中创建新文件时我会忘记这样做,这就是我希望 VS 做的原因根据我创建的文件对我来说。这可能吗?

0 投票
3 回答
1094 浏览

asp.net-mvc-3 - SQL CE 部署 - AppHarbor - 无法加载 SQL Server Compact 的本机组件

我完全遵循了以下帖子:

http://support.appharbor.com/discussions/problems/544-error-with-reference-to-systemdatasqlserverceentity-dll

在带有 MVC 3 的远程主机上使用 SQL Server CE 4

我仍然收到以下错误:

无法加载与版本 8482 的 ADO.NET 提供程序对应的 SQL Server Compact 的本机组件。安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。

我做了什么:

新鲜文件 -> 新的 ASP.NET MVC 3 应用程序。通过 NuGet 添加了 EFCodeFirst.SqlServerCompact v0.8.8482.1,其中添加了必要的包。

在本地,一切都很好。我通过 Git 构建/清理/重建并提交整个解决方案并推送到 AppHarbor。所有未触及 SQL CE 的页面都按预期工作。当我尝试加载与 SQL CE 对话的页面时,我看到了附加的异常:

在此处输入图像描述

以下是我安装的软件包:

在此处输入图像描述

下面是我的 Bin 目录的样子:

在此处输入图像描述

0 投票
1 回答
1679 浏览

iis - 在 AppHarbor 上托管 WCF Web API 应用程序?

我已经实现了一个像这里这样的示例应用程序。这是一个非常基本的应用程序,只是为了让事情开始。在我的本地机器上的 IIS 中一切正常,我也让它在我的 IIS Express 上运行,但现在是棘手的部分。我确实想在AppHarbor上托管它,但出现 404 错误。我已经在 AppHarbor 的支持论坛上发起了讨论,他们在运行它时截取了错误的屏幕截图。截屏

自从使用了 StaticFile 处理程序以来,路由似乎有问题,但我只是在猜测。有没有人有什么建议?

0 投票
2 回答
6856 浏览

version-control - 从 Mercurial 中的单个本地存储库推送到多个远程存储库

我正在考虑使用 AppHarbor 来托管一个轻量级网站,并正在研究他们的 Mercurial 集成。

目前我将 Kiln 用于我的远程存储库,但目前 AppHarbor 仅支持 BitBucket 集成。

单个本地存储库是否可以有 2 个远程存储库?所以当我从本地推送提交时,他们都得到了推送?

我不想从 BitBucket 中拉取,只需要推送,以便它可以被 AppHarbor 抓取并部署。

0 投票
2 回答
321 浏览

asp.net-mvc-3 - Restrict access to views to debug only

I have a webpage I am working on using asp.net mvc3. I am deploying it via appharbor which is amazing. The entire page is public, so I don't need user authentication or anything like that, but there are administrative pages that only I should be able to access.

Rather than have any kind of authentication page with a password, I would like certain views to be only accessible while I am running it locally in debug mode, but not once I have deployed to appharbor.

Is there some kind of environment setting that I can use to:

  1. Show or hide page elements (links) based on whether it is running locally or on the server.
  2. Restrict access to entire views (return 403) if the application is running on appharbor.

How would I read and apply these settings in my views and controllers?

0 投票
3 回答
1470 浏览

asp.net-mvc - ASP.NET MVC - 数据库的替代品

我想过把它分开,但我认为这是一个大问题更好。就这样吧。:-)

警告:这个问题很深入。:-)

我已经使用 ASP.NET 有一段时间了。就在几天前,在Pluralsight观看了 MVC 课程后,我决定尝试一下。开发非常棒,而且非常容易,尤其是使用 Entity Framework 4.1。当我四处搜索部署选项时,我发现了 AppHarbor。不幸的是,我遇到了一些问题。看,我不能用 git commit AppHarbor 要求的方式神奇地移植我的数据库。问题是,我从来没有真正使用过数据库——它们总是自动工作. 我害怕连接字符串等。我设法在 AppHarbor 上为 ASP.NET Membership 建立了一个数据库(我仍然需要弄清楚如何复制数据和模式,但我会弄清楚的:-))但我一无所知如何处理我用来存储博客文章和评论的 Entity Framework SQL Server Compact 数据库。问题:

  1. 它不起作用 - MVC/EntityFramwork/Whatever-Is-Automagically-Working-Behind-The-Scenes 没有启动新数据库或其他任何东西
  2. AppHarbor 只允许 1 个数据库(免费版)

潜在的解决方案?

  1. 合并数据库。我不知道如何做到这一点,也不知道如何保持 EntityFramework 的 Auto-Magic 工作。
  2. 为帖子/评论采用非数据库解决方案。我意识到数据库非常高效,因为在文字文件和访问它的程序之间存在某种接口,因此您没有文件锁定之类的东西。那么最好的选择是什么?

我的问题

处理这种情况的最佳方法是什么?不只是这种特殊情况,而是“废话我讨厌数据库”的一般情况?

回答方式:

  1. 建议我学习数据库:很好,但请提供一些好的资源。
  2. 提供非数据库替代方案:很棒。
  3. 解释我需要做什么才能让这一切都在 AppHarbor 上运行(但更普遍的是任何部署服务器):理想。我什至可以设置赏金来奖励它

提前非常感谢;我意识到这是一个深刻的问题,获得的代表可能不值得。如果我需要提供更多信息,请告诉我。

0 投票
1 回答
646 浏览

git - 使用 AppHarbor 时,如何正确管理开发和实时配置文件?

我正在进行一个小项目,我正在试验AppHarbor。对于那些不熟悉它的人,AppHarbor 允许您通过添加特定的 Git 远程然后将您的项目/源推送到该远程来在云中自动构建和部署 ASP.NET MVC 项目。

我目前的工作方式是在GitHub 上有一个主 Git 存储库,我将其克隆到我的开发机器上。然后我将 AppHarbor 遥控器添加到我的工作副本中。我会进行更改,每隔几次提交就推送到 GitHub 以确保安全,当我准备好部署新版本时,我可以将其推送到 AppHarbor。

虽然这是一个很棒的工作流程,但它给我带来了一个关于配置文件的新问题。我以前做的是Web.config从源代码管理中排除,而是签入一个名为 的文件Web.config.example,该文件包含所有正确的键,但具有虚拟值。然后我会简单地在我的开发机器上复制该文件,删除.example扩展名并编辑适合的值。

在部署时,我会创建另一个名为 的副本Web.config.live,将值替换为服务器的正确值,上传并删除.live扩展。

我现在遇到的问题是,如果Web.config不受代码控制,当我推送到 AppHarbor 时,该项目将无法运行(因为它缺少正确的配置信息)。然而,我不希望在 GitHub 上公开查看实时连接字符串,如果我曾经推Web.config送到主存储库就会出现这种情况。

我在这里有什么选择?我会很感激任何建议。

0 投票
2 回答
523 浏览

c# - 为 S3 设计

我应该如何设计我的 ASP.NET MVC 应用程序和数据库来满足来自 Amazon S3 的静态内容服务?

目前,我Images在本地服务器上有一张用于上传图片的表格。每个图像都有一个 ID 和一个本地路径来提供它,但我想将我的静态内容移动到云中。

  • 我需要存储什么?
  • 如何通过 ASP.NET MVC 3 提供 S3 内容?
  • 我是通过缓存的 Web 请求还是直接从 S3 提供内容?

我已经运行专用服务器很长时间了,但我仍在学习云上的最佳实践。

0 投票
5 回答
3964 浏览

sql-server - 如何让 ASP.NET MVC 3.0 站点使用默认 SQLEXPRESS 以外的数据库

本质上,我想要做的是了解 Microsoft 的 ASP.NET MVC 3.0。我正在使用 Visual Studio 2010 Ultimate。我遵循了http://www.asp.net/mvc/videos/5-minute-introduction-to-aspnet-mvc上的视频教程,它让我启动并运行,结果创建了一个访问本地数据库的网站.

问题一:

有谁知道本地数据库在哪里?我相信它在某处使用了默认的 SQLEXPRESS db。它不显示在服务器资源管理器中,也不在 App_Data 文件夹中。我在任何地方的任何文件夹中都找不到它。它是 - 据我了解 - 使用项目中的模型自动生成的,它没有告诉我它放在哪里。

问题2:

我真正想做的是把项目放到网上玩,我已经通过 AppHarbor.com 做到了。他们让您创建一个 MS SQL Server 数据库并在 Web.config 中为您提供一个替换连接字符串,但是已经替换了连接字符串并重建了解决方案 - 即使在将 AppHarbor 数据库(我很确定毫无意义)添加到服务器之后Explorer,我的网站仍然使用我找不到的难以捉摸的 SQLEXPRESS 数据库。

我在 Web.config 中所做的更改来自:

到格式

问题一很高兴知道,但真正困扰我的是问题 2。我错过了哪些对数据库的引用,导致它使用了我不希望它使用并且一无所知的数据库?我认为必须有一个,尤其是因为当我从 Web.config 中完全删除连接字符串时,事情仍然运行良好。

任何帮助将不胜感激。

0 投票
2 回答
1521 浏览

runtime - 如何在 Web 应用程序的 bin 库中部署 Visual C++ Runtime 2010?

我正在尝试将使用特定库(在本例中为 Chilkat)的 Web 项目部署到 Web 主机(appharbor.com)。问题是该库需要 Visual Studio C++ 2010 运行时 (http://www.cknotes.com/?p=311)。我的问题是如何正确部署该运行时?

1.部署方式的选择

在我的本地开发机器上安装了运行时,但我只有 git push 访问托管环境。

基于MSDN,有三种部署运行时的选项:

  1. 使用可再发行包(推荐)
  2. 使用合并模块(需要管理权限)
  3. 与应用程序一起部署

选项 3 是我唯一可以对这台主机执行的操作,因为我没有对服务器的管理访问权限。

2.确定应该部署哪些dll

MSDN 页面指出 dll 应位于“Program Files\Microsoft Visual Studio 10.0\VC\Redist”中。在我的情况下,该位置不存在 Redist 目录(在 64 位上运行,所以我检查了“程序文件”和“程序文件(x86)”)。

我解压缩了可再发行包和其中的 vs_red.cab 以找到包含的 dll 列表: - atl100 - mfc100(+ 语言变体) - mfc100u - msvcp100 - msvcr100 - vcomp100 - msdia71

同时我检查了反射器中的库以查看引用的是什么:-Microsoft.VisualC(.net)-KERNEL32.dll(本机)-MSVCR100.dll(本机)-...还有一个没有名字的神秘库. 显示为带有空文本的模块。

旁注:这里使用的 chilkat 库有 x64 和 x86 版本。我使用 x86 执行这些任务只是因为目标系统似乎是 x86。(部署 x64 会导致“尝试加载格式不正确的程序。”错误。)

3.找到要部署的dll

解压后的 vc_red.cab 中的 dll 命名不正确,所以我决定在硬盘上查找 dll。搜索 atl100 发现三个位置:system32、syswow64 和作为应用程序目录的一部分。

上面提到的所有文件都在 system32 中,除了: - msdia71 (native) - 这与调试有关,根本不在我的磁盘上,所以我假设不需要它。- Microsoft.VisualC (.net) - 在 GAC 中找到了正确版本 (10.x)。

(我没有复制 KERNEL32.dll 因为这是一个 Windows 内置库。)

4. 将库添加到项目中

添加了 VisualC .net 库作为参考。本机库已添加到我的 Web 应用程序的根目录中,并且属性设置为“构建操作:内容”和“复制到输出:始终”。构建完成后,dll 按预期出现在 bin 文件夹中的 .net 库旁边。

但是当我部署和运行时,我收到错误消息:无法加载文件或程序集''或其依赖项之一。指定的模块无法找到。

您可以在这里看到项目的构建输出,我可以观察到我认为需要的 dll 正在被复制到输出目录,但某处仍然存在错误。有人有想法吗?还是更好的调试方法?还是我在做一些愚蠢的事情:)?