![](/img/trans.png)
[英]Web.config in website root is interfering with additional application Web.config (IIS)
[英]Treat NESTED sub-projects in folders as child folders in IIS website in IntelliSense (ie. inherit web.config from root project)
有一個大型ASP.NET web 項目,由多年來開發的數萬個文件組成。
有效的層次結構如下所示:
Site\All.sln
Site\root.csproj
Site\web.config
...
Site\Sub1\sub1.csproj
Site\Sub1\web.config <-- inherits from Site\web.config at runtime;
tell IntelliSense to do the same
Site\Sub1\page.aspx
...
Site\Sub1\Sub1a\sub1a.csproj
...
Site\Sub2\sub2.csproj
...
Site\bin <-- all assemblies compiled to here
后端代碼編譯良好,項目運行page.aspx
沒有錯誤,因為執行時 IIS 理解嵌套的 web.configs(即Site\web.config
是根配置, Site\Sub1\web.config
從根配置)。
但是,在 Visual Studio 2022 中編輯page.aspx
(作為Sub1
項目的一部分)時, IntelliSense 報告錯誤(即“未引用程序集”),因為它不理解Site\Sub1\web.config
是子 web 配置這將從父 web.config 繼承。
還有其他問題,例如沒有看到/理解<system.codedom>
(根 web.config 更改以啟用 Roslyn)和/或Site\bin
是從中加載程序集的位置(這會破壞 aspx 編輯器突出顯示當非 SN 共享程序集添加到<assemblies>
時)。
在不將所有項目移動到頂級文件夾的情況下:
不將所有項目文件移動到根文件夾的一個重要原因是,除了一些乏味的半自動化工作之外,VS 在這種情況下很難處理“顯示所有文件”。 在 SDK 風格的項目中否定路徑也是痛苦的(緩慢和管理問題)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.