Tôi gặp vấn đề với các giải pháp này, có thể là do các hằng số ban đầu của tôi được xây dựng trước bởi các thuộc tính này.
<DefineConstants />
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<DebugSymbols>true</DebugSymbols>
Visual Studio 2010 cũng đã đưa ra một lỗi vì các dấu chấm phẩy, cho rằng chúng là các ký tự không hợp lệ. Thông báo lỗi cho tôi một gợi ý vì tôi có thể thấy các hằng số được xây dựng trước được phân tách bằng dấu phẩy, cuối cùng theo sau là dấu chấm phẩy "bất hợp pháp" của tôi. Sau một số định dạng lại và mát xa, tôi đã có thể đưa ra một giải pháp phù hợp với mình.
<PropertyGroup>
<!-- Adding a custom constant will auto-magically append a comma and space to the pre-built constants. -->
<!-- Move the comma delimiter to the end of each constant and remove the trailing comma when we're done. -->
<DefineConstants Condition=" !$(DefineConstants.Contains(', NET')) ">$(DefineConstants)$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", "")), </DefineConstants>
<DefineConstants Condition=" $(DefineConstants.Contains(', NET')) ">$(DefineConstants.Remove($(DefineConstants.LastIndexOf(", NET"))))$(TargetFrameworkVersion.Replace("v", "NET").Replace(".", "")), </DefineConstants>
<DefineConstants Condition=" $(TargetFrameworkVersion.Replace('v', '')) >= 2.0 ">$(DefineConstants)NET_20_OR_GREATER, </DefineConstants>
<DefineConstants Condition=" $(TargetFrameworkVersion.Replace('v', '')) >= 3.5 ">$(DefineConstants)NET_35_OR_GREATER</DefineConstants>
<DefineConstants Condition=" $(DefineConstants.EndsWith(', ')) ">$(DefineConstants.Remove($(DefineConstants.LastIndexOf(", "))))</DefineConstants>
</PropertyGroup>
Tôi sẽ đăng một ảnh chụp màn hình của hộp thoại Cài đặt trình biên dịch nâng cao (được mở bằng cách nhấp vào nút "Tùy chọn biên dịch nâng cao ..." trên tab Biên dịch của dự án của bạn). Nhưng là một người dùng mới, tôi thiếu người đại diện để làm như vậy. Nếu bạn có thể xem ảnh chụp màn hình, bạn sẽ thấy các hằng số tùy chỉnh được nhóm thuộc tính tự động điền và sau đó bạn sẽ nói: "Tôi phải lấy cho tôi một số thứ đó."
EDIT: Có đại diện đó nhanh đáng ngạc nhiên .. Cảm ơn các bạn! Đây là ảnh chụp màn hình: