[.net framework4.0]基於.NET Framework 4.0的解決方案部...
06-06
[.net framework4.0]基於.NET Framework 4.0的解決方案部署 收藏 |>> 官方網站: 導航統計公告2008年5月重新啟用,將作為本人技術方面的博客。有部分隨筆是之前在別的網站發布的,或者根據以前筆記整理的。 絕大多數隨筆均為原創,標題中標明【轉載】者除外。 隨筆分類隨筆檔案個人鏈接微軟中國研發團隊相關下載積分與排名 @張磊_larry.zhang 我比較有興趣的是你幹啥要用那個sql_variant類型,呵呵 --陳希章 [quote]陳希章:我認為這個問題應該無解。EF是基於強類型的,而那個sql_variant不是一個強類型,呵呵。你在什麼場合下會用這個類型呢 錯誤消息已經很清楚了。 Message 1 Th... --張磊_larry.zhang @陳希章到處亂跑中啊 --flyingchen [quote]flyingchen: @陳希章我來了北京,呵呵[/quote] 呵呵,居然又跑到北京去了啊,我今年倒是經常去蘇州的 --陳希章 @陳希章我來了北京,呵呵 --flyingchen [quote]張磊_larry.zhang:老大,我曾經有個數據表的欄位是sql_variant類型,EF無法映射該類型最後導致數據層同時使用了 EF和企業庫不知老大有沒有碰到過[/quote] ... --陳希章 [quote]flyingchen:來看看陳老師[/quote] 謝謝啊,好久不見了:) --陳希章 老大,我曾經有個數據表的欄位是sql_variant類型,EF無法映射該類型最後導致數據層同時使用了EF和企業庫不知老大有沒有碰到過 --張磊_larry.zhang 來看看陳老師 --flyingchen [quote]技術,趨勢:更值得一提的就是,比如裝IE新版本,首先要找個同語言的吧,還要分什麼X86,X64.簡直就是惡搞,比如我中文系統,我就想裝個E文的IE怎麼了?[/quote] 底層架構都不一... --公爵 好東東,收藏起來 --Vseen[ Aloner ] [quote]諾貝爾: .net 的版本策略真的很失敗. 就不能默認是向下支持,然後特殊情況需要配置么? [/quote] 這個問題有點複雜,至少在我們作為局外人來看是這樣 --陳希章 @wade black 其實2.0確實不錯 --陳希章 @builderman 嗯,我只是說我不會用XP去做伺服器 --陳希章 .net 的版本策略真的很失敗. 就不能默認是向下支持,然後特殊情況需要配置么? --諾貝爾 閱讀排行榜評論排行榜VS 2010發布之後,隨著而來的框架版本也升級到了.NET Framework 4.0。我相信很多朋友已經在用了吧。這一篇文章總結了如何基於.NET Framework 4.0,進行解決方案部署。之所以要單獨寫一下,是因為確實這個版本與之前的.NET Framework 2.0,3.0,3.5是不一樣的。我們自己在用的時候也摸索了一些時間。所以總結出來給大家參考參考吧,以免多走彎路。重點事項:.NET Framework 4與之前的版本是可以並行的,他們並不互相干擾。也就是說,你不必在安裝.NET Framework 4之前安裝其他的任何一個版本。(前提是,你只是想運行.NET Framework 4的程序) 令很多朋友最感疑惑的是,如果安裝了.NET Framework 4,那麼之前的軟體能否運行(例如基於.NET Framework 2)呢?答案是:不能 因為這種並行的情況,所以在服務端要特別注意,設置ASP.NET引擎的版本。 .NET Framework 4 所支持的客戶端操作系統最低是Windows XP,伺服器操作系統是Windows Server 2003。之前的Windows 2000甚至更高版本全部不受支持。 .NET Framework 4的網站無法部署在Windows XP中。換而言之,Windows XP只能作為客戶端,因為XP帶的IIS 是5.1,而.NET Framework 4所要求的IIS版本最低是IIS 6. 部署提示:1.首先下載有關的安裝程序 這是我整理好的四個軟體(大致一共10MB),分別如下當然,如果你希望預先下載好Framework 安裝包(例如你的客戶場景是沒有辦法連接到網路),那麼請繼續下面的操作如果你想要下載.NET Framework 4 Client Profile ,則訪問這裡 http://www.microsoft.com/downloads/details.aspx?FamilyID=e5ad0459-cbcc-4b4f-97b6-fb17111cf544&displaylang=en 大致是41MB的安裝包,與Full相差大致7MB,我個人覺得這就沒有啥優勢了。而且選用了Client Profile的話,有好些個功能都不能用。其實更關鍵在於你不知道哪些能用,哪些不能用(確實有一些文檔介紹他們的區別,但誰有那閑工夫去記住那麼多區別呢)。所以,我們全部採用Full,免得麻煩。 2.伺服器端的一般部署過程 客戶端部署相對很簡單,你只要把上面的一些軟體安裝好,基本上就不會有什麼問題,程序能運行起來。但伺服器端可就沒有這麼容易了。下面就假設你有一個Web Application需要部署首先,如何打包這個Web Application呢?這個方面,VS2010做了一些不錯的改進,它可以直接發布,更可以打包成一個所謂的Package,如下面的菜單打包好之後會在項目的Obj目錄下面,Debug目錄下面,再創建一個Package目錄,你可以看到下面的一些文件其次,如何在伺服器端部署這個Web Application呢?你需要將上面這個Package目錄全部複製,然後發送給伺服器管理員。那麼伺服器管理員要怎麼將這個Application部署起來呢?他有幾種方式。第一種方式,使用MS Deploy工具。http://www.iis.net/download/webdeploy這個工具是微軟提供出來給IIS 6和IIS 7用的,可以很方便地進行應用程序部署。你可以通過上面的地址下載到。(值得一提的是,這個工具安裝之前需要當前伺服器安裝了.NET Framework 2.0 sp1)如果安裝好了,我們打開IIS 之後會看到一些小的變化大家可以看到,現在網站上面多出來一個「Deploy」的菜單,裡面有幾個菜單項,我們現在可以點擊「Import Application」首先,我們需要指定那個部署包的位置,是那個zip文件【注意】這裡可以修改連接字元串【注意】因為檢測到我們是.NET Framework 4的Web Application,所以會提示將Application Pool選擇為.NET 4.0的,我們當然毫不猶豫地點擊「yes」很快就安裝好了。它到底做了什麼呢?其實它會把文件複製到wwwroot裡面來但是,這裡需要注意的是,它是隨機選擇了一個.NET Framework 4.0 的Application Pool, 例如在我的機器上是這樣的 有的時候,我們可能會發現程序運行不起來,例如經驗告訴我們,凡是503錯誤,多半是與應用程序池有關係。我嘗試重啟這個程序池,問題依舊然後,我發現這個程序池有些特殊之處在於它的Managed Pipleline Mode是Integrated,是不是這個有問題呢?我嘗試選擇了一個Managed Pipleline Mode為Classic的應用程序池,例如重新刷新一下就可以正常運行我的應用程序了到這裡,我們就完成了伺服器端應用程序的部署。這個演練中,我們使用了MS Deploy工具。但事實上,不用工具也是一模一樣可以做到的。只要記住下面兩點1. 應用程序池要基於.NET Framework 42. 應用程序池的Managed Pipleline Mode要選擇為Classic最後,還有一個可能會遇到的問題,就是如果你的應用程序會連接到資料庫,而且資料庫連接字元串是像下面這樣寫的Data Source=.sqlexpress;Initial Catalog=Northwind;Integrated Security=True那麼,大家要知道的一個情況是,因為你是Integrated security=true,所以最後訪問資料庫時所使用的身份是應用程序池的標識。那麼,很顯然地,你需要確保這個標識有訪問資料庫的許可權。【注意】如果是訪問本地的伺服器和資料庫,為簡單起見,你可以直接設置為LocalSystem。這個特殊帳號是肯定可以訪問資料庫的。當然,更加嚴謹的做法,是指定一個特定的帳號,這個帳號被授予了特定資料庫的訪問許可權。posted on 2010-06-02 18:40 陳希章 閱讀(1966) 評論(28) 編輯 收藏 所屬分類: #1 樓 2010-06-02 18:54 dreamskyyu @dreamskyyu其實我這就是Windows 7.呵呵。你可以馬上試一下我感覺, Window7比Windows 2003還要方便一些 回復引用查看 之前配置網站也是因為應用池的原因,摸索了3天才明白癥結所在。 回復引用查看 我發現一個問題,不安裝以前的.NET3.5的話,你在新建一個空的C++項目時,會產生錯誤..樓主試 一下,,按理,一個本機的VC++項目與.NET一點關係也沒有 回復引用查看 回復引用查看 恩,微軟要好好整下這個框架從1.1,2.0 3.0 3.5 4.0全裝下來要多大空間啊硬碟便宜也不能這樣折騰啊 回復引用查看 樓主別誤導人家啊!.NET Framework 4.0以前的程序是可以在僅裝有.NET Framework 4.0的機器中運行的。只要在配置文件中添加以下設置即可。<configuration><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>回復引用 @8Y關於這一點,我大致也是知道可以通過修改這個配置做出一些演示例子來,例如Hello,world之類的。但我對此仍然是謹慎樂觀的。事實上因為很多程序集都是在框架級別被重寫過了,很難保證一個真正複雜的程序是否真的能運行起來。一個現實的例子就是 SQL Server自帶的很多工具,如果不裝.NET Framework 2的話,就通通不能運行了。這估計也是之所以會強調並行安裝的原因所在,像當年.NET 2和.NET 1.X時代的問題是一樣的僅供參考 回復引用查看 回復引用查看 呵呵,那估計有門。你試試看。我自己不傾向於在XP上面裝IIS 6. 回復引用查看 @老Q@技術,趨勢我也覺得框架方面到目前為止看起來也是一個逐漸完善的過程。我們經歷和參與了這個過程,有時候是幸運,有時候也是不幸,呵呵回復引用查看 反正微軟正在面臨著混亂是不爭的事實,尤其搞的是,同一個框架比如.net framework2。0 在不同的語言版本上還不能兼容。有時要裝中文的,有時又需要英文的。比如Windows的更新,不是同語言的還裝不上。這個就是真無語了。還是一字「悲劇」 回復引用查看 更值得一提的就是,比如裝IE新版本,首先要找個同語言的吧,還要分什麼X86,X64.簡直就是惡搞,比如我中文系統,我就想裝個E文的IE怎麼了? 回復引用查看 冷靜,冷靜 回復引用查看 試過之後才會知道,為什麼不傾向呢只是只能建一個默認的網站,不像server一樣可以建多個網站回復引用查看 回復引用查看 回復引用查看 這個問題有點複雜,至少在我們作為局外人來看是這樣 回復引用查看 底層架構都不一樣了,你還要求軟體通用?那是不可能的。底層架構都不一樣了,你還要求軟體通用?那是不可能的。 回復引用 郵箱:(僅博主可見) [使用Ctrl+Enter鍵快速提交評論] Powered by: 博客園 Copyright ? 陳希章 本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/Cubuntu/archive/2010/07/25/5762380.aspx
推薦閱讀:
推薦閱讀: