我最近开始使用.dpr
个应用。后来我想将它与Angular集成,但首先我想要一个用Asp .Net Core
“替换”cshtml
的机制。
如果我将扩展程序从html
更改为cshtml
,我会收到此
'InvalidOperationException:未找到“索引”视图'。
我也尝试过Startup
html
但它也没有用。
可选是将cshtml布局内容与html页面集成,但我认为这是不可能的。
所以,我的问题是,我可以简单地用html替换所有cshtml吗?
答案 0 :(得分:10)
静态文件通常位于Web根目录(wwwroot)文件夹中。默认情况下,这是我们可以直接从文件系统提供文件的唯一位置。
1.在(wwwroot)名称html
index.html
个文件
2.通过NuGet安装Microsoft.AspNet.StaticFiles
包
3.在配置方法
下的UseStaticFiles
中添加Startup.cs
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles(); // For the wwwroot folder
// if you want to run outside wwwroot then use this
//request like http://<app>/StaticFiles/index.html
/* app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
RequestPath = new PathString("/StaticFiles")
});*/
}
如果你想在wwwroot
之外运行静态文件,那么 -
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles(); // For the wwwroot folder
//request like http://<app>/StaticFiles/index.html
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), @"MyStaticFiles")),
RequestPath = new PathString("/StaticFiles")
});
}
您的请求,例如http://<app>/StaticFiles/index.html
如果您希望index.html
成为您的默认文件,这是IIS一直拥有的功能,那么
public void Configure(IApplicationBuilder app) {
app.UseIISPlatformHandler();
app.UseDeveloperExceptionPage();
app.UseRuntimeInfoPage();
app.UseDefaultFiles();
app.UseStaticFiles();
}
希望它对你有所帮助。您可以通过this链接获取更多信息。