Question 136
You need to create a custom content type and specify the content type ID.
What should you do?
A. Create a new module.
B. Create a custom Feature.
C. Call the Lists Web service.
D. Call the Webs Web service.程序員
解析:
你想要在Sharepoint中建立一個用戶自定義內容類型而且指定它的ID,那麼你應該用什麼方法呢?
做爲開發人員,您能夠經過編寫聲明性 XML 或者服務器代碼來建立內容類型。在建立將由其餘人安裝和激活的功能時,一般要執行此操做。所以,實際要對內容類型執行的操做不是建立內容類型,而是定義內容類型。
最終,將安裝功能並由某個用戶激活功能。Microsoft SharePoint Foundation 執行您的代碼或讀取您的聲明性 XML 並使內容類型可用。具備管理列表權限的管理用戶將新內容類型應用於列表或文檔庫,內容類型將發揮做用。有權向列表添加項目的任何用戶均可以使用您的內容類型建立內容。管理用戶經過添加或刪除列、或更改其餘屬性,能夠根據須要修改內容類型。全部這些都不在您的控制範圍內。
關鍵點在於,「建立」內容類型其實是指建立內容類型定義。良好的內容類型定義能夠預見內容類型的最終使用方式。
您無需從頭開始建立內容類型。相反,始終能夠選擇現有內容類型做爲建立的任何新內容類型的基礎。這正是 Microsoft SharePoint Foundation 的內置內容類型所起的做用。您用於建立新內容類型的網站必須位於從其派生這一新內容類型的內容類型範圍內,所以編寫內容類型定義時應該考慮這一點。
建立內容類型的一種方法是使用聲明性 XML 在功能的元素清單文件中定義內容類型。激活內容時,將建立內容類型。您能夠在同一元素清單文件中定義多個內容類型。定義的每一個內容類型包含一個 ContentType 元素。ID 屬性是必需的,而且您指定的值必須遵循特定的格式。格式正確的內容類型 ID 不只標識新內容類型,還標識父內容類型。
ContentType 元素必需的另外一屬性爲 Name,該屬性指定顯示名稱。該值能夠爲對 $Resources:String 格式的資源的引用。
在內容類型中包含列時,並不在內容類型定義中建立它們。實際上,您是引用 已在其餘位置建立的列。若要包含列引用,請添加 FieldRef 元素做爲 ContentType 元素的子項。引用的列能夠是已經做爲網站欄存在的列,也能夠是建立內容類型的同一功能建立的新列。
若是您的內容類型對新內容使用某一文檔模板,能夠在 ContentType 元素內的 DocumentTemplate 元素中標識該文檔模板。必須單獨設置文件。一種方法是將向清單添加 Module 元素並將文件包含在功能中。
上面就是對建立內容類型的一個簡要描述。其基本方式就是經過Feature來建立部署一個內容類型,也即選項B所描述的方法。
選項A. Create a new module. 之前已經許屢次提到過,Module只是被用來引入資源的。
選項C. D 均是調用外部Web service.服務,並不用於建立Sharepoint內部的內容類型。
因此本題目正確選項應該是B
參考:
http://msdn.microsoft.com/en-us/library/ff630942.aspx
http://msdn.microsoft.com/zh-cn/library/ms460224(v=office.14).aspxweb
Question 137
You create a Visual Web Part.
You need to add an image to the Web Part. The image must be deployed to the 14\TEMPLATE\IMAGES folder.
What should you do in Microsoft Visual Studio?
A. Create a folder named Images.
B. Create a folder named _layouts and a subfolder named Images.
C. Add a SharePoint Images mapped folder.
D. Add a SharePoint Layouts mapped folder and create a subfolder named Images.編程
解析:
本題題意是想在一個Visual Web Part中使用一張在14\TEMPLATE\IMAGES目錄下的圖片,在VS2010中應該怎樣作?
在Question 134就涉及到這樣的問題,其選項D提到,在 SharePoint 中的一些經常使用文件夾,例如圖像(Images)和佈局(Layouts)文件夾都緊緊的定義在Sharepoint的文件層次結構中(就像一種默認的契約,不能由用戶自行更改,而是某種程度地固化在系統架構中了)。 您能夠將這些文件夾映射到 SharePoint 項目中,以便更加輕鬆地訪問它們。 很顯然,新Map一個映射文件夾也僅僅是爲Sharepoint項目新創建一個快捷方式,與本題的在用戶自定義網站欄和用戶自定義內容類型之間創建聯繫毫無關係。而本題所指的14\TEMPLATE\IMAGES目錄就正是這樣的映射目錄。因此,本題的答案應該是選項C。
其它選項所創建的目錄均不會映射到本題題意所要求的14\TEMPLATE\IMAGES目錄上。
因此本題目正確選項應該是C
參考:
http://blogs.msdn.com/b/vssharepointtoolsblog/archive/2010/03/12/deploying-files-using-mapped-folders.aspx服務器
Question 138
You create a Web Part by using Microsoft Visual Studio 2010.
You need to execute SPDisposeCheck.exe before the Web Part is deployed.
What should you do?
A. Configure a pre-deployment command line.
B. Configure SPDisposeCheck.exe as an external tool.
C. Change the configuration from Active (Debug) to Release.
D. Change the active deployment configuration to No Activation.架構
解析:
本題的題意是想要在經過VS2010部署你所建立的Web Part以前使用SPDisposeCheck.exe工具進行檢查,應該怎樣作。
咱們知道SPDisposeCheck這個工具是用來檢測對象是否被正確的釋放的,在sharepoint開發中, 常常要用到的spsite,spweb對象, 並且兩個對象都是重量級的,msnd上的文章介紹過,你打開一個spsite或者spweb對象 將佔用1M到2M的內存,若是你打開多了對象,都沒有及時關閉,那麼就會有大量的內存被吞噬掉。 固然,對於本題SPDisposeCheck這個工具只是個點綴,本題的重點並非考你SPDisposeCheck這個工具,而是考你VS2010中部署命令。
在VS2010中,咱們能夠經過設置預先部署命令和後期部署命令來自定義部署過程。 在從 Visual Studio 調試 SharePoint 解決方案時,這些命令會在其餘部署操做先後運行。
添加預先部署命令
1. 在「項目」菜單上,單擊「項目名稱 屬性」。
2. 單擊「SharePoint」選項卡。
3. 在「預先部署命令行」文本框中,鍵入 MS-DOS 或 MSBuild 命令以自定義此步驟。 例如,若要在部署完成以前列出目錄內容,請鍵入 dir。
添加後期部署命令
1. 在「項目」菜單上,單擊「項目名稱 屬性」。
2. 單擊「SharePoint」選項卡。
3. 在「後期部署命令行」文本框中,鍵入 MS-DOS 或 MSBuild 命令以自定義此步驟。 例如,若要在部署完成以後列出目錄內容,請鍵入 dir。 若要使用 MSBuild 變量從生成目錄複製程序集,請鍵入 copy $(TargetPath) c:\DeploymentDirectory。
因爲本題是要求在部署以前運行 SPDisposeCheck這個工具,因此咱們就須要添加預先部署命令,即選項A。app
選項B. Configure SPDisposeCheck.exe as an external tool. 此選項是程序員根據須要,在編程環境中隨時調用此工具。因此,此選項是影響不到VS2010的預先部署命令和後期部署命令的。
選項C. Change the configuration from Active (Debug) to Release. Visual Studio 項目中,程序的發佈版本和調試版本使用不一樣的配置。顧名思義,生成調試版本的目的是用於調試,而生成發佈版本的目的是用於版本的最終分發。若是在 Visual Studio 中建立程序,Visual Studio 會自動建立這些配置並設置適當的默認選項和其餘設置。在默認設置下:程序的「調試」配置用所有符號調試信息編譯,不進行優化。優化會使調試複雜化,由於源代碼和生成的指令之間的關係更加複雜。程序的「發佈」配置被徹底優化,不包含任何符號調試信息。 因此本選項也與本題無關。
選項D. Change the active deployment configuration to No Activation. 將項目的「活動部署配置」屬性的值設置爲「無激活(No Activation)」。
默認狀況下,在運行 Visual Studio SharePoint 應用程序時,將在 SharePoint Server 上自動爲您激活該應用程序的功能。 不過,在調試功能事件接收器時,這會致使問題,緣由是當 Visual Studio 激活某個功能時,該功能會在不一樣於調試器的進程中運行。 這意味着,一些調試功能(如斷點)將沒法正常工做。
若要在 SharePoint 中禁用功能的自動激活並容許對功能事件接收器進行適當的調試,請在調試以前將項目的「活動部署配置(active deployment configuration)」屬性的值設置爲「無激活(No Activation)」。 而後,在開始調試您在 Visual Studio後的 SharePoint 應用程序中,請手動激活 SharePoint 中的功能。 若要激活該功能,請打開 SharePoint 中的 網站操做 菜單上,選擇 站點設置(Site Settings),選擇 管理網站功能 連接(Manage Site Features),而後選擇該功能旁邊的激活按鈕,繼續像以往同樣進行調試。所以,本選項也與本題無關。
因此本題目正確選項應該是A
參考:
http://msdn.microsoft.com/en-us/library/ee231534.aspx
http://msdn.microsoft.com/zh-cn/library/ee231550.aspx
http://msdn.microsoft.com/en-us/library/ee231559.aspxssh