我刚刚创建了一个新的ASP.NET Core Web应用程序,并选择了一个空的项目模板。我正在使用Visual Studio Community 15.7.1。
初看解决方案资源管理器时,我看不到那里的“ wwwroot”文件夹。有谁碰巧知道使用asp.net core 2.2,wwwroot是否不再可见?
我检查了文档,但找不到任何东西。创建另一个文件夹并从那里提供我的静态文件没有问题,但是我很好奇。
提前致谢。
我已经删除了以前在不同计算机上运行的现有ASP.NET Core应用程序.
当我在这台计算机上运行该应用程序时,我收到以下错误:
AggregateException: One or more errors occurred. (Cannot find module './wwwroot/dist/vendor-manifest.json'
Error: Cannot find module './wwwroot/dist/vendor-manifest.json'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
Run Code Online (Sandbox Code Playgroud)
如果我谷歌,我最终在这里,但如果我运行,我得到:
PM> webpack --config webpack.config.vendor.js
webpack : C:\node_modules\webpack-cli\bin\webpack.js:242
At line:1 char:1
+ webpack --config webpack.config.vendor.js
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (C:\node_modules...\webpack.js:242:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
throw err;
^
Error: Cannot find module 'C:\Users\LarsHoldgaard\Documents\Github\Likvido.CreditRisk\Likvido.CreditRisk\webpack.config.vendor.js'
at Function.Module._resolveFilename (module.js:547:15)
Run Code Online (Sandbox Code Playgroud)
现在,这对我来说很奇怪.
我试过运行npm install
和aspnet restore
.我可以毫无失败地运行Grunt(任务运行器).NPM
/ Node
在我的PATH中,我在Windows上运行.
我没有wwwroot/DIST
任何这些操作的文件夹,我想这是问题所在. …
asp.net asp.net-core-mvc asp.net-core wwwroot asp.net-core-2.0
我使用bower管理ASP.NET MVC应用程序中的所有插件.
问题: Bower工作得很好,但是当它安装插件时,我在我的解决方案中看不到它们.我必须显示所有文件(不会自动更新)然后包含它们,然后当我再次更新它们时会导致问题...
我想要的: ASP.NET Core项目有一个特殊的wwwroot文件夹,当文件浏览器中创建文件时,它会自动使文件在解决方案中可见.
我尝试了什么:
编辑.csproj
到'lablabla\bower_components\**
这只包括启动时的文件和项目中的一些更改取代了**
(源).
asp.net asp.net-mvc visual-studio visual-studio-2015 wwwroot
我需要在列表中创建文件列表,这曾经很容易......但在 Asp.Net Core 2 Razor 页面上则不然。我找不到一种方法来获取“wwwroot”内“Poems”的物理路径。我发现很多例子使用IHostingEnvironment
但总是在控制器中。但我没有控制器,不需要控制器,只需页面和后面的代码..
哦,我多么想念 WebForms!
没有控制器的 Razor Page 的解决方案是什么?
提前致谢。
我有一个 ASP.NET Core 项目,wwwroot
目录和bower_components
目录中都有静态文件。
我可以通过将其添加到我的Startup.cs
班级来为这些文件提供服务:
StaticFileOptions rootFileOptions = new StaticFileOptions();
rootFileOptions.OnPrepareResponse = staticFilesResponseHandler;
StaticFileOptions bowerFileOptions = new StaticFileOptions();
bowerFileOptions.OnPrepareResponse = staticFilesResponseHandler;
string bowerDirectory = Path.Combine(Directory.GetCurrentDirectory(), "bower_components");
PhysicalFileProvider bowerPhysicalFileProvider = new PhysicalFileProvider(bowerDirectory);
bowerFileOptions.FileProvider = bowerPhysicalFileProvider;
bowerFileOptions.RequestPath = new PathString("/bower");
app.UseStaticFiles(rootFileOptions);
app.UseStaticFiles(bowerFileOptions);
Run Code Online (Sandbox Code Playgroud)
然后从我的观点中引用它们如下:
<script type="text/javascript" src="/bower/jquery/dist/jquery.min.js" asp-append-version="true"></script>
<script type="text/javascript" src="/Libs/jQuery-UI/jquery-ui.min.js" asp-append-version="true"></script>
Run Code Online (Sandbox Code Playgroud)
虽然asp-append-version
看起来就好工作了位于下资源wwwroot
,似乎对资源的外部完全忽略wwwroot
。尽管如此,所有资源都得到了适当的服务;没有 404 或任何东西。上述代码的结果 HTML 如下:
<script type="text/javascript" src="/bower/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="/Libs/jQuery-UI/jquery-ui.min.js?v=YZKMNaPD9FY0wb12QiluqhIOWFhZXnjgiRJoxErwvwI"></script>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我存储了图像文件夹名称"图像",它不在wwwroot文件夹中.所以现在我无法访问它所以我的问题是如何授予访问包含图像和文件夹的文件夹不是wwwroot的子文件夹?或者它必须将这些文件放在wwwroot文件夹中?
我正在尝试获取 Blazor WebAssembly 项目中 wwwroot 文件夹内的静态文件列表。这是我到目前为止所尝试过的:
string[] images = Directory.GetFiles(@"wwwroot\images", "*.jpg");
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Unhandled exception rendering component: Could not find a part of the path '/wwwroot\images'.
Run Code Online (Sandbox Code Playgroud)
System.IO.DirectoryNotFoundException:找不到路径“/wwwroot\images”的一部分。
我究竟做错了什么?谢谢。
我刚刚使用该dotnet new webapp
命令创建了一个 ASP .Net Web 应用程序。
wwwroot/lib
我想知道是否应该提交该文件夹?看起来它包含版本化库,并且应用程序中的其他任何地方都没有提到该版本,所以我认为我应该提交它们。但我真的不想在我的 git 存储库中拥有第三方库的发行版。
我有一个 ASP.NET 5 项目,其中包含大量 Node.js 模块。它们安装在该node_modules
文件夹下。
在开发环境(环境=开发)中,我开始手动复制所有模块wwwroot\lib
。当这变得乏味时,我编写了一个 Gulp 任务来复制它们。现在有很多任务。
是否有任何 ASP.NET 项目设置,以便可以从node_modules
根文件夹而不是从 加载模块wwwroot\lib
?
只是玩了一下。我得到了一个包含 3 个项目的 Visual Studio 解决方案。这三个都需要。一个项目(“一个”)是应用程序的 UI。当然,它包含 wwwroot 中的静态文件。
我想对应用程序进行 dockerize。这里的 Dockerfile 有效。然后我通过 Ubuntu 服务器上的 kubernetes 加载这个图像。
这里没问题,容器正在运行并处理请求。
但它根本不提供静态文件。所有这些文件请求都会导致 404 HTTP 错误。该网站看起来像垃圾(但可以加载)。
所以我登录到容器并开始观察 /app 的内容。这里没有名为“wwwroot”的目录。也不是子目录。我不确定 wwwroot 目录是否属于这里?还是应用程序的dll中包含目录?
经过大量搜索(还在 StackOverflow 上找到了一些有用的问题),我发现文件会自动包含在构建过程中。无需在 csproj 文件中单独定义它们。但是,如果我这样做,则会导致“包含重复文件”之类的错误。
这是 Dockerfile:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
WORKDIR /src
COPY one/one.csproj one/
COPY two/two.csproj two/
COPY three/three.csproj three/
COPY . ./
WORKDIR "/src/one"
RUN dotnet build -c Release -o /app
WORKDIR "/src/two"
RUN dotnet build -c Release -o /app …
Run Code Online (Sandbox Code Playgroud) 我已经启动了一个新的ASP.NET Core空项目,并希望通过Bower添加引导程序和JQuery,但是没有“ bower.json”文件。因此,我添加了以下内容:
{
"name": "asp.net",
"private": true,
"dependencies": {
"bootstrap": "3.3.7",
"jquery": "2.2.0",
"jquery-validation": "1.14.0",
"jquery-validation-unobtrusive": "3.2.6"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,新文件夹“ Bower”出现在“ Dependencies”,隐藏的文件夹“ bower_components”包含所有代码,但“ wwwroot”仍然为空,如下图所示。
因此,当更改bower.json文件时,如何使其自动将文件添加到“ wwwroot”文件夹中,以便可以在项目中使用它?
wwwroot ×11
asp.net-core ×6
asp.net ×4
c# ×3
.net-core ×2
asp.net-mvc ×1
blazor ×1
bower ×1
docker ×1
gulp ×1
iformfile ×1
image ×1
kubernetes ×1
razor-pages ×1