sn.exe -T assembly
至於 sn 這個強式名稱工具的所在位置,請參考我另一篇所提到的 SDK 路徑。
星期一, 5月 27, 2013
星期四, 5月 23, 2013
Visual Studio 2012 MVC4 Web API 錯誤處理
- 由繼承 ApiController 的子類別拋出 System.Web.Http.HttpResponseException。
- 假設用戶端由 jQuery 處理 ajax,像以下的程式片段: statusCode: {
400: function() {
// do something
},
401: function() {
// do something
}
}
或這樣處理也可以
error: function (jqXHR, textStatus, errorThrown) {
// jqXHR.status, errorThrown
}
星期四, 5月 16, 2013
用 Visual Studio 開發 Web 之前就要準備的 log 機制
- 先由套件管理抓 Common.Logging 2.1.2 並設為專案參考。
- Web.config 新增如下的部份,注意:TraceAppender 會讓記錄往開發工具的 Output 送。
- 要記 log 的各類別必須有 private Common.Logging.ILog log = Common.Logging.LogManager.GetCurrentClassLogger();
- 真的要記 log 的程式是 log.Info("xxx");
<configuration>
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
</configSections>
<common>
<logging>
<factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
<arg key="level" value="INFO"/>
</factoryAdapter>
</logging>
</common>
...
</configuration>
星期三, 5月 15, 2013
在 Visual Studio 2012 MVC 4 專案,以最小修改納入 Spring.NET
- 新建專案,範本選「ASP.NET MVC 4 Web Application」,專案名稱與方案名稱都一樣是 SpringMvc4,如此一來,專案預設的命名空間與組件名稱也會一樣。較細的範本種類,選預設「Internet Application」即可。
- 在 HomeController.cs 增加 protected string Message { get; set; },修改 Index() 方法中 ViewBag.Message = Message;
- TOOLS -> Library Package Manager -> Manage NuGet Packages for Solution... 下載 Spring.Web.Mvc4(如果搜尋不到,可能是範圍的關係,要從 Stable Only 改成 Include Prerelease)。
- 修改 Global.asax.cs,繼承 Spring.Web.Mvc.SpringMvcApplication。
- 在 Web.config 調整 Common.Logging 的 bindingRedirect: 0.0.0.0-2.1.1.0 -> 1.2.0.0,同時也要增加:
完成!請看首頁是否有來自於設定檔注入的字串呢?
[2015/11/29 補充]
Visual Studio 2015 + Spring.Web.Mvc5 大致上依然適用,而且在第 3, 5 點都有改進了。
星期二, 5月 14, 2013
組件版本重導(Redirecting Assembly Versions)
當被參考的組件發佈新版,上層的組件或應用程式重新編譯再測試是比較正確的做法。但實務上有時會遭遇困難,應變的方法有二:
附帶一提:這裏談的是強式名稱簽署的組件,未簽署的組件版本不重要。
在 Visual Studio 2012 Express 曾有一個 Bug:若在測試專案放 app.config 是沒用的,在 Update 1 以後悄悄地解決了,所以「要跟就得跟緊」。
- 由組件發行者發佈 Publisher Policy 部署在呼叫端
- 由組件呼叫端編寫 Configuration
附帶一提:這裏談的是強式名稱簽署的組件,未簽署的組件版本不重要。
在 Visual Studio 2012 Express 曾有一個 Bug:若在測試專案放 app.config 是沒用的,在 Update 1 以後悄悄地解決了,所以「要跟就得跟緊」。
.NET Framework 4.0 的一些改變
- GAC
- 3.5 %WinDir%\assembly
- 4.0 %WinDir%\Microsoft.NET\assembly
- SDK
- 3.5 %ProgramFiles(X86)%\Microsoft SDKs\Windows\v7.0A\bin
- 4.0 %ProgramFiles(X86)%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools
訂閱:
文章 (Atom)