2013-04-30 30 views
10

Tôi đang làm việc trên một dự án WCF. Tên của dự án đã từng là ServiceTemplate và tôi đã quyết định thay đổi nó thành một cái gì đó mang tính chỉ dẫn hơn. Tôi đã thực hiện công việc hơi đau đớn khi đổi tên dự án theo các bước sau:Resharper tiếp tục phàn nàn rằng không gian tên không tương ứng với vị trí tệp mặc dù nó

  • Thay đổi không gian tên phù hợp với tên dự án mới. Bước này đã khiến Resharper phàn nàn rằng các không gian tên không tương ứng với vị trí tệp của chúng và được đề xuất thay đổi không gian tên thành "ServiceTemplate.Something". Tôi phớt lờ lời cảnh báo vì nó được cho là sẽ biến mất sau đó.

  • Sử dụng tìm và thay thế để thay thế tất cả các lần xuất hiện của "ServiceTemplate" trong toàn bộ giải pháp.

  • Đóng giải pháp.

  • Đổi tên thư mục ServiceTemplate và tệp ServiceTemplate.csproj.

  • Mở tệp sln bằng notepad và lặp lại quá trình tìm và thay thế xấu xí để thay thế tất cả các lần xuất hiện của "ServiceTemplate" trong tệp đó.

Ngay cả sau tất cả các bước này, Resharper vẫn than phiền không gian tên không tương ứng với vị trí tệp. Kỳ lạ thay, Resharper vẫn gợi ý thay đổi không gian tên thành "ServiceTemplate.Something" mặc dù chuỗi "ServiceTemplate" không có ở đâu trong giải pháp, không nằm trong thư mục/tên tệp hay nội dung tệp.

Điều gì có thể gây ra sự cố và làm cách nào để loại bỏ vấn đề này?

Trả lời

23

Bạn cũng cần phải chắc chắn rằng bạn thay đổi không gian tên mặc định trong thuộc tính dự án, bên cạnh nơi bạn thay đổi tên lắp ráp. ReSharper cũng sử dụng điều này khi quyết định không gian tên trong một tập tin nên được.

0

Bạn cần sửa đổi thuộc tính \ element trong tệp .vbproj hoặc .csproj. Theo đề xuất của @citizenmatt.

Thay đổi đề xuất:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 
<PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <ProjectGuid>{14E9B75E-02B5-4371-912F-674B7E199796}</ProjectGuid> 
    <OutputType>Library</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>My.Default.Namespace</RootNamespace> //<-- Change this 
    <AssemblyName>My.Assembly.Name</AssemblyName> 
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
</PropertyGroup> 
Các vấn đề liên quan