我有一个具有以下结构的简单RCL:
/Pages
/Shared/
_Footer.cshtml
内容非常简单:
<h3> _Footer.cshtml partial view.</h3>
我还有一个具有相同文件夹结构的ASP.NET Core Web App项目:
/Pages
_ViewImports.cshtml
-ViewStart.cshtml
/Shared
_Layout.cshtml
在布局文件的某个地方,我引用了局部视图:
<partial name="_Footer" />
问题出在这里
The partial view '_Footer' was not found. The following locations were searched: /Pages/_Footer.cshtml /Pages/Shared/_Footer.cshtml /Views/Shared/_Footer.cshtml
添加项目参考和Nuget参考之间有什么区别?我已经验证了Nuget包确实包含了类库的默认程序集和视图程序集。
答案 0 :(得分:2)
我发现,如果您使用dotnet pack而不是nuget pack
,它会起作用。请注意,dotnet pack
软件包信息是从csproj而不是nuget spec文件中读取的。
答案 1 :(得分:1)
根据文档(https://docs.microsoft.com/en-us/aspnet/core/razor-pages/sdk),我认为您可以使用IncludeRazorContentInPack
将.cshtml文件包含在NuGet包中(默认为false)。
答案 2 :(得分:1)
在我的情况下,我什至无法在操作员说它确实起作用的情况下使其起作用:
如果我将RCL的项目引用添加到Web App,则局部视图 找到并且页面可以正常显示。
我只是收到标准错误消息,即未找到部分视图(即使搜索的路径正确)。
经过一番撞击后,我通过将以下xml块添加到两个.csproj文件中来解决了此问题:
const props = ['bar']
for(const [key,value] of props.entries()) {
console.log(this[value as keyof this])
}
答案 3 :(得分:0)
我遇到了同样的问题,解决了从库区域写入完整路径的问题,例如:
在图书馆,我有:
区域/页脚/页面/_footer.cshtml
使用我的UI Proyect,我这样称呼它:“”
我希望它能为您提供帮助