2009-03-29 27 views
33

Khi thêm điều khiển người dùng hoặc tham chiếu dự án vào dự án VS # C 2008, tôi chỉ có thể thêm một cấu hình của assembly. Có thể thêm các cấu hình riêng biệt, tùy thuộc vào cấu hình của dự án vùng chứa hay không.C#/VS2008: Thêm tham chiếu gỡ lỗi/phát hành riêng biệt vào dự án

Ví dụ: Tôi đang phát triển một điều khiển người dùng, và tôi đang làm việc trên một ứng dụng mẫu. Tôi muốn thêm điều khiển người dùng sao cho bản dựng gỡ lỗi của mẫu sẽ sử dụng bản dựng gỡ lỗi của điều khiển người dùng và bản phát hành bản phát hành mẫu bản phát hành của điều khiển người dùng.

Mọi đề xuất?

Trả lời

25

Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp csproj; thêm thuộc tính "Điều kiện" vào tham chiếu.

<Reference Include="Foo" Condition="'$(Configuration)'=='Debug'"/> 
<Reference Include="Bar" Condition="'$(Configuration)'=='Release'"/> 

Tuy nhiên, tôi sẽ lo ngại về ý nghĩa của việc kiểm tra đơn vị này.

+0

Câu hỏi là về để sử dụng cùng 'UserControl', bằng cách này chúng ta không thể thêm tham chiếu đến hai lần và Visual Studio không cho phép nó @Salvatore Previti trả lời câu hỏi hay nhất. – CallMeLaNN

5

Trong khi đề xuất của @Marc Gravell sẽ hoạt động, có lý do gì khiến bạn không muốn cả hai dự án trong cùng một giải pháp? Nếu chúng nằm trong cùng một giải pháp, bạn có thể thêm Tham chiếu dự án khi tham chiếu dự án Kiểm soát người dùng vào dự án của ứng dụng mẫu. Khi một tham chiếu dự án được sử dụng, Visual Studio sẽ tự động thêm phiên bản gỡ lỗi cho một bản dựng gỡ lỗi và phiên bản phát hành cho bản dựng bản phát hành.

+1

Nếu dự án được tham chiếu nằm dưới sự kiểm soát nguồn riêng biệt (có thể đó là một dự án thư viện đa năng) sau đó các vấn đề có thể xảy ra khi cố thêm dự án tham chiếu vào điều khiển nguồn –

31
<Reference Include="MyLibrary"> 
    <HintPath>..\$(Configuration)\MyLibrary.dll</HintPath> 
</Reference> 

này thêm một tài liệu tham khảo ".. \ Debug \ MyLibrary.dll" nếu biên soạn trong chế độ gỡ lỗi hoặc .. \ phát hành \ MyLibrary.dll" nếu biên soạn trong chế độ phát hành.

+0

Câu trả lời hay + sử dụng đường dẫn tương đối vì dll có thể nằm trong thư mục ngay bên ngoài giải pháp – CallMeLaNN

+0

Và Visual S tudio (VS2010 trong trường hợp của tôi) có vẻ lịch sự và nó không làm phiền các chỉnh sửa thủ công như vậy khi một phiên bản sau đó sửa đổi tệp dự án từ IDE. Như một bài kiểm tra tôi đã thêm một lớp mới, mọi thứ đều hoạt động tốt. –

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