问题标签 [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.
visual-studio - 将 Visual Studio 中的文件扩展名注册到构建操作
我的解决方案中有用于存储 jQuery 模板的 .tmpl 文件,为了让我的项目在 AppHarbor 上运行,我需要将每个文件的构建操作设置为“内容”。有什么方法可以让 VS 识别 .tmpl 文件并默认将它们设置为“内容”?如果我需要手动将所有现有文件设置为“内容”,我并不在意,尽管我预见到当我在功能中创建新文件时我会忘记这样做,这就是我希望 VS 做的原因根据我创建的文件对我来说。这可能吗?
asp.net-mvc-3 - SQL CE 部署 - AppHarbor - 无法加载 SQL Server Compact 的本机组件
我完全遵循了以下帖子:
在带有 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 目录的样子:
version-control - 从 Mercurial 中的单个本地存储库推送到多个远程存储库
我正在考虑使用 AppHarbor 来托管一个轻量级网站,并正在研究他们的 Mercurial 集成。
目前我将 Kiln 用于我的远程存储库,但目前 AppHarbor 仅支持 BitBucket 集成。
单个本地存储库是否可以有 2 个远程存储库?所以当我从本地推送提交时,他们都得到了推送?
我不想从 BitBucket 中拉取,只需要推送,以便它可以被 AppHarbor 抓取并部署。
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:
- Show or hide page elements (links) based on whether it is running locally or on the server.
- 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?
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 数据库。问题:
- 它不起作用 - MVC/EntityFramwork/Whatever-Is-Automagically-Working-Behind-The-Scenes 没有启动新数据库或其他任何东西
- AppHarbor 只允许 1 个数据库(免费版)
潜在的解决方案?
- 合并数据库。我不知道如何做到这一点,也不知道如何保持 EntityFramework 的 Auto-Magic 工作。
- 为帖子/评论采用非数据库解决方案。我意识到数据库非常高效,因为在文字文件和访问它的程序之间存在某种接口,因此您没有文件锁定之类的东西。那么最好的选择是什么?
我的问题
处理这种情况的最佳方法是什么?不只是这种特殊情况,而是“废话我讨厌数据库”的一般情况?
回答方式:
- 建议我学习数据库:很好,但请提供一些好的资源。
- 提供非数据库替代方案:很棒。
- 解释我需要做什么才能让这一切都在 AppHarbor 上运行(但更普遍的是任何部署服务器):理想。我什至可以设置赏金来奖励它
提前非常感谢;我意识到这是一个深刻的问题,获得的代表可能不值得。如果我需要提供更多信息,请告诉我。
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
送到主存储库就会出现这种情况。
我在这里有什么选择?我会很感激任何建议。
c# - 为 S3 设计
我应该如何设计我的 ASP.NET MVC 应用程序和数据库来满足来自 Amazon S3 的静态内容服务?
目前,我Images
在本地服务器上有一张用于上传图片的表格。每个图像都有一个 ID 和一个本地路径来提供它,但我想将我的静态内容移动到云中。
- 我需要存储什么?
- 如何通过 ASP.NET MVC 3 提供 S3 内容?
- 我是通过缓存的 Web 请求还是直接从 S3 提供内容?
我已经运行专用服务器很长时间了,但我仍在学习云上的最佳实践。
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 中完全删除连接字符串时,事情仍然运行良好。
任何帮助将不胜感激。
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,有三种部署运行时的选项:
- 使用可再发行包(推荐)
- 使用合并模块(需要管理权限)
- 与应用程序一起部署
选项 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 正在被复制到输出目录,但某处仍然存在错误。有人有想法吗?还是更好的调试方法?还是我在做一些愚蠢的事情:)?