Eri*_*arr 44 iis-7 visual-studio-2010 iis-express iis-8 visual-studio-2013
我有一个使用Visual Studio 2010构建的站点.当我升级到Visual Studio 2013时,在某些页面上我会收到一条错误消息:
无法添加"mimeMap"类型的重复集合条目,并将唯一键属性"fileExtension"设置为".mp4".
经过一番搜索,我在博客上发现了一个有用的帖子,但由于问题有点不同而且我没有在stackoverflow上找到它,我想我会在这里发布问题和答案.
Eri*_*arr 98
问题是当我切换到Visual Studio 2013时,用于调试的Web服务器发生了变化.Visual Studio 2013默认使用IIS Express.虽然Visual Studio 2010 SP1支持IIS Express,但我的安装仍使用默认的Visual Studio Development服务器.
与IIS 7一样,Visual Studio开发服务器默认情况下没有定义mp4 mime类型,因此我们在web.config中明确添加了它,就像这样:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
另一方面,IIS Express基于IIS 8,IIS 8默认定义了mp4 mime类型和许多其他类型.因此,当在web.config中显式设置mimeMap时,它被认为是重复的.
如果您不需要在生产环境中支持IIS 7,那么您可以从web.config中完全删除mimeMap标记.如果您需要同时支持IIS 7和IIS 8,那么您可以先为mimeMap使用remove标签,然后再次设置它,如下所示:
<system.webServer>
<staticContent>
<remove fileExtension=".mp4" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
在IIS 7中,删除将不会执行任何操作,因为它尚未定义,但在IIS 8中,它将删除原始文件,以便新文件不会重复.感谢Oliver Payen关于IIS 7和IIS 8差异以及删除解决方案的帖子.
Erç*_*ğlu 14
只需在添加扩展程序之前删除它
<remove fileExtension=".mp4" />
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23696 次 |
| 最近记录: |