Trình biên dịch trong Visual Studio có nhiều tính năng hơn trình biên dịch trong Unity, điều đó có nghĩa là một số mã (đặc biệt là các tính năng c # mới hơn) sẽ báo lỗi trong Unity, nhưng không có trong Visual Studio.
Tuy nhiên, bạn có thể thay đổi khung mục tiêu của mình để khớp với khung gần nhất với những gì Unity sử dụng trong trình chỉnh sửa của bạn. Tôi đã thực hiện điều này trong Xamarin khi phát triển thư viện cho Unity, nhưng có vẻ như nó cũng có thể có trong Visual Studio.
Trong Visual Studio, trong các thuộc tính của dự án DLL, đặt thuộc tính khung Target thành phiên bản khung Unity bạn đang sử dụng. Đây là Thư viện lớp cơ sở Unity phù hợp với khả năng tương thích API mà dự án của bạn nhắm đến, chẳng hạn như thư viện lớp cơ sở toàn bộ, vi mô hoặc web. Điều này ngăn DLL của bạn gọi các phương thức khung tồn tại trong các khung hoặc mức độ tương thích khác, nhưng có thể không tồn tại trong phiên bản khung Unity mà bạn đang sử dụng.
https://msdn.microsoft.com/en-us/l Library / dn940020.aspx
unity .net profile upgrade
trên Google