【发布时间】:2012-09-29 22:45:44
【问题描述】:
我正在创建一个非常简单的网站,最初只是一堆 HTML / CSS 文件。然后我需要添加一点服务器端逻辑,所以我想我会使用 ASP.NET 网页,因为它们听起来像是一个合适的解决方案。
所以我将index.html 更改为index.cshtml,添加了我需要的代码,但我想就是这样(我还添加了这个基本的web.config 文件:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
但是,在本地 IIS Express 上启动它会产生这个错误:
无法确定要使用哪个版本的 ASP.NET 网页。
为了使用该站点,请在站点的 web.config 文件中指定一个版本。有关详细信息,请参阅 Microsoft 支持网站上的以下文章:http://go.microsoft.com/fwlink/?LinkId=254126
所以我将此添加到我的web.config:
<appSettings >
<add key="webPages:Version" value="2.0" />
</appSettings >
现在网站启动了,但处理 UTF-8 真的很奇怪——尽管所有 HTTP 标头、文件编码和元标记都正确设置为 UTF-8,但我的国家字符显示不正确。我发现了这个问题:Do I need web.config for non-ASCII characters?,但它并没有真正解决我的问题。
不过,我的设置有什么问题?当我在 WebMatrix 中创建一个新站点并将我的文件复制到其中时,一切正常,即使没有在 web.config 中指定网页版本。我能看到的唯一区别是 WebMatrix 生成的项目中存在 bin 文件夹。
所以问题是,我是否也需要将bin 文件夹作为我的源文件的一部分?我真的不觉得只需要在我的 index.cshtml 中添加一个动态行就需要将价值 1.5MB 的二进制文件检查到 Git 中,但也许就是这样?
感谢您确认这一点或告诉我一些更好的方法。
【问题讨论】:
-
尝试使用 .aspx 解析器,看看会发生什么?你用的是什么版本的VS?
-
嗯,还有一个细微的差别——WebMatrix 创建的站点使用 BOM,而我的 index.cshtml 文件没有。 ASP.NET 不能处理非 BOM 文件?我不会相信的。
-
无论如何,问题是存在 - 我需要还是不需要包含
bin文件夹,可能还包括 Web Matrix 为新项目生成的App_Data\packages文件夹?