2010-03-03 24 views
7

Tôi có ba cấu hình khác nhau trong dự án của mình, cả ba đều không yêu cầu tất cả các tệp được xây dựng trong ứng dụng. Trên thực tế tôi muốn nếu tôi có thể loại trừ các tập tin từ xây dựng, mà sẽ làm cho ứng dụng của tôi nhẹ hơn một chút.Loại trừ toàn bộ tập tin dựa trên cấu hình được xây dựng trong VS2008

Điều tôi đang tìm kiếm là câu hỏi #if MYCONFIG hoặc #if DEBUG nhưng đối với tệp. Tôi đã đọc rằng điều này có thể được thực hiện bằng cách chỉnh sửa thủ công tệp csproj, nhưng tôi không thể tìm thấy nữa ... và có cách nào khác không?

Trả lời

11

Có hai cách khác nhau: Trong file csproj của bạn, bạn sẽ có phần trông như thế này:

<ItemGroup> 
    <Compile Include="Helper.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
</ItemGroup> 

gì bạn có thể làm là thiết lập một cấu hình dự án mới (Xây dựng menu, Configuration Manager, chọn New từ cấu hình tích cực giải pháp thả xuống), sau đó tự thay đổi nút ItemGroup này:

<ItemGroup Condition=" '$(Configuration)' == 'MyNewConfiguration' "> 
    <Compile Include="Helper.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
</ItemGroup> 

Cách thứ hai, như bạn đã đề cập trong câu hỏi, là sử dụng các biểu tượng gỡ lỗi có điều kiện. Ở phía trên cùng của tập tin của bạn, có báo cáo kết quả

#if MYDEBUGSYMBOL 

và ở phía dưới có

#endif 

sau đó bạn có thể định nghĩa những biểu tượng debug; nhấp chuột phải vào tệp dự án của bạn, chọn Thuộc tính, chuyển đến tab Xây dựng và nhập biểu tượng gỡ lỗi trong Ký hiệu biên dịch có điều kiện.

Tôi có thể gắn với phương pháp đầu tiên.

+0

Điều này cũng có thể thực hiện với các tệp dự án VS2008 cũ cho các dự án C không? – Christian

Các vấn đề liên quan