台灣最大程式設計社群網站
線上人數
1303
 
會員總數:246268
討論主題:189809
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 編譯後上傳出現 「 設定區段不允許在應用程式下設定 」
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
編譯後上傳出現 「 設定區段不允許在應用程式下設定 」
價值 : 100 QP  點閱數:1014 回應數:10
樓主

MStone Lin
門外漢
0 101
1986 134
發送站內信

請問

我將WebApplication(3.5)編譯後上傳至WebServer
WebServer為2012 IIS8.5

會出現

Module IIS Web Core
通知 BeginRequest
處理常式 尚未判定
錯誤碼 0x80070021
設定錯誤 設定區段不允許在應用程式下設定
設定檔案 web.config


109: <validation validateIntegratedModeConfiguration="false"/>
110: <modules>
111: <remove name="ScriptModule"/>

錯誤點在111

因我的程式有使用ScriptManager
如果將我的程式降至2.0 就無法使用ScriptManager

是因為ScriptManager的關係嗎?
還是server也要裝ASPAJAXExtSetup.msi ??

以上 謝謝








搜尋相關Tags的文章: [ 編譯 ScriptModule ] ,
本篇文章發表於2017-08-31 11:17
1樓
不錯的參考

MIS2000 Lab
檢舉此回應
您的Web Server (Win2012)有安裝 .NET 3.5嗎?

我記得是在「控制台」裡面「程式與功能」
左邊的Menu,可以 "新增Windows功能"

.NET 3.5的話,好像要手動勾選才會有
麻煩您試試看(檢查看看)?
本篇文章回覆於2017-08-31 13:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

MStone Lin
檢舉此回應
回MIS2000 Lab

我是參考這篇
https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45
已有安裝啟用.net 3.5

但依舊顯示2.0 and 4.0而已









本篇文章回覆於2017-08-31 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

MIS2000 Lab
檢舉此回應
是啊

3.5算是 2.0的加強版,基底、CLR 版本還是 .NET 2.0

您可以參考這篇文章(中文)
https://msdn.microsoft.com/zh-tw/library/bb822049(v=vs.110).aspx
本篇文章回覆於2017-08-31 14:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

MStone Lin
檢舉此回應
回MIS2000 Lab

所以是有裝了喔??

但還會是什麼問題要修正的呢?

本篇文章回覆於2017-08-31 14:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
小喵看不是很懂樓主您的需求

幾個問題向您請教
1.要放上去系統的.NET Framework是什麼版本?3.5?
2.原本Server上,是否已經有其他的Web Application在運作,如果有,什麼版本?
3.為何要在Web.Config中加上『<remove name="ScriptModule"/>』

^.^a
本篇文章回覆於2017-08-31 15:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

MStone Lin
檢舉此回應
回 topcat 大

1.開發是3.5, Webserver 是 2.0、2.0C 、4.0、4.0c
2.原本server已有Web Application在執行,但都是原始碼直接上傳,
所以試著用編譯的方式上傳,但打開網頁就出錯

同樣的編譯後的程式 在win7的IIS下執行正常
3.新增專案時,就預設有此「<remove name="ScriptModule"/>』
但把此字串移除後,錯誤訊息還是在這一段,百思不得其解(明明沒有了)



本篇文章回覆於2017-08-31 15:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
>>1.開發是3.5, Webserver 是 2.0、2.0C 、4.0、4.0c
不太理解2.0C, 4.0C是指什麼?
^.^a

>>2.原本server已有Web Application在執行,但都是原始碼直接上傳,
>>所以試著用編譯的方式上傳,但打開網頁就出錯

您的步驟是什麼?
是整個Web Application都是用發行好的
還是本來執行Source的還在,您只更新部分?

原本運行原始碼,要改為發行後編譯好的
如果小喵做,小喵會

1.在開發機,利用「發行」,先將專案發行到檔案系統中的某個資料夾中。
2.原本在Server上的所有「該專案」的程式,全部刪除(包含web.config)
3.將1.發行產生的相關檔案,全部上傳到Web Server上的WebApplication對應的檔案系統位置
4.確認AppPool(如果之前沒有獨立的,小喵會針對目前的這個Web Application產生一個獨立的AppPool
5.將Web Application指定他的AppPool到4.的那個
6.在瀏覽器中,測試該Web Application

^_^
本篇文章回覆於2017-08-31 16:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

MStone Lin
檢舉此回應
回topcat

4.確認AppPool(如果之前沒有獨立的,小喵會針對目前的這個Web Application產生一個獨立的AppPool

是在應用程式集區 建立新的應用程式嗎?
如是,我新增 名稱:.NET V3.5 ,.NET CLR:2.0,整合式

5.將Web Application指定他的AppPool到4.的那個

將上傳的目錄轉換成應用程式,並指定 .NET v3.5

如果是以上步驟沒錯,還是不行耶!?

本篇文章回覆於2017-08-31 16:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

MStone Lin
檢舉此回應
回topcat大

可以了

結果是放在ASP目錄下
導至繼承到

把發行的目錄放在根目錄即可

感恩~

本篇文章回覆於2017-08-31 16:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
a.小喵通常發行,會發行到開發機的某個資料夾
b.放上Server時,檔案Web Application通常小喵會另外放到一個資料夾,不會放在站台wwwroot底下
然後在IIS設定中,才在Web應用程式中,指定小喵放的資料夾
c.新舊並存會是比較棘手的問題(例如站台根目錄的.NET版本是3.5,但底下的Web應用程式的版本是4.6)
如果未來有這樣的情況
您可以參考小喵的這一篇
2017-05-11
[Tips][筆記]解決.NET Framework 3.5網站中,專案使用 .NET Framework 4.5 的問題


^_^
本篇文章回覆於2017-08-31 16:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.