關於本配置節的內容不算多,但關於ASP.NET編譯的內容還是有一點的,鄙人認為只是瞭解一下即可,主要影響到部署。 在 App_Code 文件夾中使用多種編程語言 因為 App_Code 文件夾中的源代碼要編譯成單個程式集,所以 App_Code 文件夾中的所有文件必須使用相同的編程語言編寫。例如,A ...
關於本配置節的內容不算多,但關於ASP.NET編譯的內容還是有一點的,鄙人認為只是瞭解一下即可,主要影響到部署。
在 App_Code 文件夾中使用多種編程語言
因為 App_Code 文件夾中的源代碼要編譯成單個程式集,所以 App_Code 文件夾中的所有文件必須使用相同的編程語言編寫。例如,App_Code 文件夾不能同時包含採用 Visual Basic 和 C# 編寫的源代碼。
但是,您可以對 Web 應用程式進行配置,使其將 App_Code 文件夾的子文件夾作為獨立的可編譯單元處理。這樣,每一個文件夾就可以包含以不同編程語言編寫的源代碼。通過在 Web.config 文件的 codeSubDirectories 元素中創建一個 compilation 元素,然後添加一個對子文件夾的引用,即可指定該配置。下麵的示例闡釋如何對名為 VBCode 和 CSCode 的子文件夾進行配置,使其編譯成不同的程式集:
<compilation debug="false"> <codeSubDirectories> <add directoryName="VBCode" /> <add directoryName="CSCode" /> </codeSubDirectories> </compilation>
來自 <https://msdn.microsoft.com/zh-cn/library/t990ks23(v=vs.100).aspx>
編譯文件夾位置
預設情況下,當您編譯 Web 應用程式時,編譯的代碼放在 Temporary ASP.NET Files 文件夾中。此文件夾是您安裝 .NET Framework 的位置的子目錄。通常,位置如下:
%SystemRoot%\Microsoft.NET\Framework\versionNumber\Temporary ASP.NET Files
一般在開發過程中,應用程式的埠號決定了在編譯文件夾的路徑,且VS打開後就會自動網此路徑編譯當前解決方案,因此假設兩個站點具有相同的埠號,後打開的解決方案的編譯結果會覆蓋先打開的編譯結果,也就是說即便是在先打開的解決方案進行調試,實際運行的還是後面打開的解決方案的應用程式。
在compliation一節中常見的如下,指定了編譯的生成的dll是調試模式還是發佈模式;還有指定使用的.NET Framwork版本。
<compilation debug="true" targetFramework="4.0" />
另外文檔說編譯的預設語言是vb,但是在.NET Framework4的預設配置文件中未找到相關指定,而應用程式中的配置節中仍無指定,此處編譯語言該如何定奪????
ASP.NET 預編譯概述
來自 <https://msdn.microsoft.com/zh-cn/library/bb398860(v=vs.100).aspx>
瞭解 ASP.NET 動態編譯
來自 <https://msdn.microsoft.com/zh-cn/library/ms366723(v=vs.100).aspx>
compilation 元素(ASP.NET 設置架構)
來自 <https://msdn.microsoft.com/zh-cn/library/s10awwz0(v=vs.110).aspx>