2017-11-28 17 views
0

VS2015 "SQL Server 데이터베이스 프로젝트"템플릿은 컴파일 할 C# 6.0 (.Net4.6)이 포함 된 SQLCLR 함수를 지원하지 않습니다. 내가 검색 및 웹 프로젝트와 같은, 예를 들면 위해 많이 발견VS2015에서 SQL Server 프로젝트 템플릿 포함 C# 6.0이 포함 된 SQLCLR이 컴파일되지 않습니다.

"CSC: Error: CS1617: Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default".

오류 메시지는 Error Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default

은 여기

type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

처럼 web.config에 컴파일러를 변경해야하지만 나, 나는 앱도 내 데이터베이스 프로젝트에서 web.config이 없습니다. 그렇다면이 프로젝트를 위해 컴파일러를 설정하려면 어떻게해야합니까? 고마워요.

+0

마지막으로 나는이 페이지를 https://www.codesd.com/item/using-an-incorrect-compiler-when-building-the-sql-server-database-project.html에서 찾았고 정확히 무엇을 가지고 있는지 설명했다. 내 개인적인 결론으로. – Hans

+0

명령 줄에서 msbuild (\ Program Files (x86) \ MSBuild \ 14.0 \ Bin)와 작동하지만 변경 사항을 C# 5.0으로 되 돌 렸습니다. SQL 프로젝트 파일이 실제 컴파일러를 사용하는 VS2017로 이동할 때까지. – Hans

답변

1

이것은 매우 유사 것, 그리고 어쩌면 여기 S.O에서의 중복, 다음과 같은 질문, :

Automatically implemented properties must define both get and set accessors

문제는 사용되는 C# 컴파일러입니다. 개발자 명령 프롬프트로 이동하여 CSC.exe을 실행하면 컴파일러가 C# 5까지만 지원한다는 내용의 배너가 표시되어야합니다. 그러면 최신 컴파일러를 가져올 URL이 제공됩니다.

프로젝트에 컴파일러를 지정해야하는 경우 이미이 값을 설정하는 기존 요소가없는 것 같지만 .sqlproj 파일에 컴파일러를 수동으로 추가해야 할 수 있습니다.

+0

고마워, 너는 나를 올바른 길로 인도했다. 따라서 VS2015 및 .Net SDK 버전을 업데이트하면 실행중인 버전을 얻을 수 없습니다. 제공된 .NET 4.7.1 SDK ("Microsoft (R) Visual C# Compiler 버전 4.7.2558.0 for C# 5")가 있기 때문에 실행할 수 없습니다. 현재는 C# 6.0을 지원하지 않습니다). 나는 정말로 그것을 기대하지 않았다. – Hans