Tag Archives: Visual Studio 2013

CS1617: Invalid option ‘6’ for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default

在公司Download / 執行網上教學的Sample Code 來測試時
久不久便會出現以下的錯
CS1617: Invalid option ‘6’ for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default
CS1617: Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default

這是因為Sample Code是用了Visual Studio 2015 來建立的 Default的 .Net Framework4.5.2 / 4.6
而公司是使用Visual Studio 2013.Net Framework是 4.5

所以Web.Config上有小小Mis-match
解決方便 十分簡單
我們只需要更改 compilerOptions=”/langversion:6 改變成 compilerOptions=”/langversion:5 便可以了

更改前

<system.codedom>
 <compilers>
 <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,
 System, Version=4.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089" warningLevel="4" 
 compilerOptions="/langversion:6 /nowarn:1659;1699;1701">
 <providerOption name="CompilerVersion" value="v4.0"/>
 </compiler>
 <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
 </compilers>
 </system.codedom>

Original Web.config
更新後

 <system.codedom>
 <compilers>
 <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,
 System, Version=4.0.0.0, Culture=neutral,
 PublicKeyToken=b77a5c561934e089" warningLevel="4" 
 compilerOptions="/langversion:5 /nowarn:1659;1699;1701">
 <providerOption name="CompilerVersion" value="v4.0"/>
 </compiler>
 <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
 </compilers>
 </system.codedom>

Web.config for VS2013
CS1617 Issue Fixed
Hope you find it useful

VS2013 – An error occurred. Detailed message: An error was raised by libgit2. Category = Net (Error). This transport isn’t implemented. Sorry (Fixed)

今天嘗試使用 把程式碼 CommitBitbucket
之前介紹的AppHarbor 可以把你在BitBucket上的 Source Code Compile 和Deploy 到你的AppHarbor Account
十分方便..

AppHarbor – Free hosting for ASP.Net/ ASP.Net MVC – 免費ASP.Net/ ASP.Net MVC寄存服務

我先在BitBucket 建立一個 C#Project/repository

之後使用Tortoise for Git來把在BitBucketRepository Clone / 複製到電腦上

Get BitBucket SSH URL to clone the project repository

之後便用Visual Studio 2013 建立一個新的Project 儲存在 那個資料夾上..

當大家再次開啟這個Project的時候便會發現 在檔案上 Right Click / 按右鍵時 會多了一個 “Commit“的選項

Commit option on visual studio

如果大家有連接到TFS 的專案時..會有 “Check-in” 的選項的..

之後便會去到 以下的這個畫面.. 大家可以 Commit 和把已經 commitSource Code Pushremote Repository

Commit and Push Visual Studio 2013

誰不知.. 當我按 “Push” 這個按鈕後便出現以下的錯誤信息..

An error occurred. Detailed message: An error was raised by libgit2. Category = Net (Error).
This transport isn’t implemented. Sorry
An error occurred. Detailed message: An error was raised by libgit2.  Category = Net (Error). This transport isn't implemented. Sorry

做了一會兒research 之後發原來Visual Studio 2012 使用Git時也有相同的問題
可惜可以在Visual Studio 2012上使用的Visual Studio Extension不能在Visual Studio 2013上使用

如果你是使用Visual Studio 2012 的話..
可以嘗試下載和 安裝 Visual Studio Tools for Git
http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c

如果你是使用Visual Studio 2013 的話 可以嘗試以下的方法

解決方法..原來Visual Studio 2013 是支援用HTTPS 來 連絡 到GIT
通常很多人都會使用SSH

所以大家可以到你的 BitBucket / GIT/ CodePlex 上的 GIT Repository
之後選擇以 HTTPS的方法來 Clone / 複製你的 Repository 到你的電腦上
BitBucket HTTPS option
Git Repository by using HTTPS

當你再次開啟Visual Studio 2013 按 “Push” / “Pull” 或 “Sync” 的話
Visual Studio 應該會彈出一個登入的windows 讓你轉入 BitBucket / GIT/ CodePlex
的Username / Password [請注意..你的 Password 可能和你SSH 的Passphrase 是不同的…所以可能會輸入錯的密碼]

BitBucket request for login information
BitBucket Request for User Credentials inside Visual Studio 2013

成功登入後Visual Studio便會 “Push” / “Pull” 或 “Sync” 到 BitBucket / GIT/ CodePlex /TFS 上了
Repository is already up to date. No changes to pull
Repository is already up to date. No changes to pull

現在便可以在Visual Studio 2013 上使用 Git 來 Commit “Push” / “Pull” 或 “Sync” 你的 Source codeBitBucket / GIT/ CodePlex /TFS 上了

Happy Coding