2010-07-08 2 views
0

중복 참조 오류 인 CS1703이 있습니다. 그러나, 나는 그것을 한 번만 수입했고, 나의 유일한 실제 참조를 제거하려고 시도했지만 여전히 던지고 있습니다. 컴파일러 (VS2010)는 다른 참조가 있다고 생각하는 곳을 알려주지 않으므로 오류를 수정해야합니다.중복 참조 오류 (C#)

편집 : 내 .csproj를 조사한 결과 참으로 두 가지 참조가있었습니다. 나는 그것을 삭제했다. 변경 없음. 오류 메시지와 동일한 PublicKeyToken을 사용하여 여러 참조를 발견했습니다. 나는 그들을 제거했다. 변경 없음.

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 
    <PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <SchemaVersion>2.0</SchemaVersion> 
    <ProjectGuid>{613BA79B-7832-47A9-A8EA-67FCB0350C45}</ProjectGuid> 
    <ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    <OutputType>Library</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>Microsoft.SimplePackage</RootNamespace> 
    <AssemblyName>SimplePackage</AssemblyName> 
    <SignAssembly>True</SignAssembly> 
    <AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile> 
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 
    </PropertyGroup> 
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <DebugSymbols>true</DebugSymbols> 
    <DebugType>full</DebugType> 
    <Optimize>false</Optimize> 
    <OutputPath>bin\Debug\</OutputPath> 
    <DefineConstants>DEBUG;TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    </PropertyGroup> 
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    <DebugType>pdbonly</DebugType> 
    <Optimize>true</Optimize> 
    <OutputPath>bin\Release\</OutputPath> 
    <DefineConstants>TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    <RunCodeAnalysis>true</RunCodeAnalysis> 
    </PropertyGroup> 
    <ItemGroup> 
    <Reference Include="Microsoft.CSharp" /> 
    <Reference Include="Microsoft.VisualStudio.OLE.Interop" /> 
    <Reference Include="Microsoft.VisualStudio.Shell.Interop" /> 
    <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0" /> 
    <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0" /> 
    <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0" /> 
    <Reference Include="Microsoft.VisualStudio.TextManager.Interop" /> 
    <Reference Include="Microsoft.VisualStudio.Shell.10.0"> 
     <Private>false</Private> 
    </Reference> 
    <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0" /> 
    <Reference Include="System" /> 
    <Reference Include="System.Core" /> 
    <Reference Include="System.Data" /> 
    <Reference Include="System.Design" /> 
    <Reference Include="System.Drawing" /> 
    <Reference Include="System.Windows.Forms" /> 
    <Reference Include="System.Xml" /> 
    </ItemGroup> 
    <ItemGroup> 
    <COMReference Include="EnvDTE"> 
     <Guid>{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}</Guid> 
     <VersionMajor>8</VersionMajor> 
     <VersionMinor>0</VersionMinor> 
     <Lcid>0</Lcid> 
     <WrapperTool>primary</WrapperTool> 
     <Isolated>False</Isolated> 
     <EmbedInteropTypes>False</EmbedInteropTypes> 
    </COMReference> 
    <COMReference Include="EnvDTE100"> 
     <Guid>{26AD1324-4B7C-44BC-84F8-B86AED45729F}</Guid> 
     <VersionMajor>10</VersionMajor> 
     <VersionMinor>0</VersionMinor> 
     <Lcid>0</Lcid> 
     <WrapperTool>primary</WrapperTool> 
     <Isolated>False</Isolated> 
     <EmbedInteropTypes>False</EmbedInteropTypes> 
    </COMReference> 
    <COMReference Include="EnvDTE80"> 
     <Guid>{1A31287A-4D7D-413E-8E32-3B374931BD89}</Guid> 
     <VersionMajor>8</VersionMajor> 
     <VersionMinor>0</VersionMinor> 
     <Lcid>0</Lcid> 
     <WrapperTool>primary</WrapperTool> 
     <Isolated>False</Isolated> 
     <EmbedInteropTypes>False</EmbedInteropTypes> 
    </COMReference> 
    <COMReference Include="EnvDTE90"> 
     <Guid>{2CE2370E-D744-4936-A090-3FFFE667B0E1}</Guid> 
     <VersionMajor>9</VersionMajor> 
     <VersionMinor>0</VersionMinor> 
     <Lcid>0</Lcid> 
     <WrapperTool>primary</WrapperTool> 
     <Isolated>False</Isolated> 
     <EmbedInteropTypes>False</EmbedInteropTypes> 
    </COMReference> 
    <COMReference Include="Microsoft.VisualStudio.CommandBars"> 
     <Guid>{1CBA492E-7263-47BB-87FE-639000619B15}</Guid> 
     <VersionMajor>8</VersionMajor> 
     <VersionMinor>0</VersionMinor> 
     <Lcid>0</Lcid> 
     <WrapperTool>primary</WrapperTool> 
     <Isolated>False</Isolated> 
     <EmbedInteropTypes>False</EmbedInteropTypes> 
    </COMReference> 
    <COMReference Include="stdole"> 
     <Guid>{00020430-0000-0000-C000-000000000046}</Guid> 
     <VersionMajor>2</VersionMajor> 
     <VersionMinor>0</VersionMinor> 
     <Lcid>0</Lcid> 
     <WrapperTool>primary</WrapperTool> 
     <Isolated>False</Isolated> 
     <EmbedInteropTypes>False</EmbedInteropTypes> 
    </COMReference> 
    </ItemGroup> 
    <ItemGroup> 
    <Compile Include="Guids.cs" /> 
    <Compile Include="Resources.Designer.cs"> 
     <AutoGen>True</AutoGen> 
     <DesignTime>True</DesignTime> 
     <DependentUpon>Resources.resx</DependentUpon> 
    </Compile> 
    <Compile Include="GlobalSuppressions.cs" /> 
    <Compile Include="SimplePackagePackage.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
    <Compile Include="SimpleProjectFactory.cs" /> 
    <None Include="Templates\Projects\SimpleProject\AssemblyInfo.cs" /> 
    <Content Include="Templates\Projects\SimpleProject\Program.cs"> 
     <IncludeInVSIX>true</IncludeInVSIX> 
    </Content> 
    <Content Include="Templates\Projects\SimpleProject\SimpleProject.wcproj"> 
     <IncludeInVSIX>true</IncludeInVSIX> 
    </Content> 
    </ItemGroup> 
    <ItemGroup> 
    <EmbeddedResource Include="Resources.resx"> 
     <Generator>ResXFileCodeGenerator</Generator> 
     <LastGenOutput>Resources.Designer.cs</LastGenOutput> 
     <SubType>Designer</SubType> 
    </EmbeddedResource> 
    <EmbeddedResource Include="VSPackage.resx"> 
     <MergeWithCTO>true</MergeWithCTO> 
     <ManifestResourceName>VSPackage</ManifestResourceName> 
    </EmbeddedResource> 
    </ItemGroup> 
    <ItemGroup> 
    <None Include="source.extension.vsixmanifest"> 
     <SubType>Designer</SubType> 
    </None> 
    </ItemGroup> 
    <ItemGroup> 
    <None Include="Key.snk" /> 
    </ItemGroup> 
    <ItemGroup> 
    <Content Include="Resources\Package.ico" /> 
    <Content Include="Templates\Projects\SimpleProject\SimpleProject.ico"> 
     <IncludeInVSIX>true</IncludeInVSIX> 
    </Content> 
    </ItemGroup> 
    <PropertyGroup> 
    <UseCodebase>true</UseCodebase> 
    <ProjectBasePath>C:\MyLocalFolder\Project</ProjectBasePath> 
    </PropertyGroup> 
    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 
    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets" /> 
    <Import Project="$(ProjectBasePath)\ProjectBase.Files" /> 
    <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
     Other similar extension points exist, see Microsoft.Common.targets. 
    <Target Name="BeforeBuild"> 
    </Target> 
    <Target Name="AfterBuild"> 
    </Target> 
    --> 
</Project> 

내 프로젝트 파일은 다음과 같습니다. MSDN의 확장 성 가이드를 따르면서 일반적인 프로젝트 파일과 약간 다르게 보입니다.

어셈블리가 싫어. 제발, 하나님, 마이크로 소프트, 그들에게 뭔가 유용한 이름을 지어주십시오.

+0

무엇에 대한 이중 참조입니까? – ULysses

+0

EnvDTE80, 구체적으로는 정확한 어셈블리가 중요하지 않다고 생각합니다. – Puppy

+0

프로젝트 파일을 보았습니까? 텍스트 편집기로 편집 할 수 있어야합니다. – etc

답변

4

솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 "언로드"를 선택한 다음 프로젝트를 다시 마우스 오른쪽 단추로 클릭하고 "프로젝트 파일 편집 ..."을 선택하고 XML을 통해 가능한 모든 참조를 삭제하십시오 수동으로.

또한 참조는 일반적으로 GUID와 함께 "저장"됩니다. 어셈블리 이름을 지정하는 노드를 삭제하기 전에 프로젝트 파일에서 GUID를 검색하고 제거해야 할 것이 있는지 확인하십시오.

세 번째 측정 방법으로 app/web.config에서 네임 스페이스 (예 : 자동 가져 오기)를 여러 번 참조하지 않았는지 확인하십시오.

업데이트 : 프로젝트 파일을 게시 한 것으로 나타났습니다. 맨 아래에, 내가 생각하는 또 다른 프로젝트 (ProjectBase.Files)를 참조하고 있습니다. 이 오류 유형은 때로는 앞뒤로 버블 경향이 있기 때문에이 프로젝트에서 동일한 오류 검사를 수행하십시오.

+0

프로젝트 파일을 반복적으로 살펴보고 몇 가지 참조를 삭제했습니다. 개선 없음. 나는 또한 자동 수입을 사용하지 않았다. 모든 파일을 검토했지만 그 중 어느 것도 네임 스페이스를 두 번 사용하지 않았습니다. 지옥, 나는 결코 참조 된 어셈블리를 사용하지 않습니다. – Puppy

+0

@DeadMG, 내 업데이트 참조. 그게 도움이 되었습니까? –

+0

@Tomas : 실제로 다른 프로젝트는 아닙니다. Microsoft에서 작성한 많은 소스 파일입니다. 그것에 실제 참조가 없습니다. 예를 들어 프로젝트 파일이 없습니다. 또한, 나는 잠시 동안 그것을 사용 해왔고 이전에는이 ​​오류가 없었습니다. – Puppy

0

지금은별로 유용하지 않습니까? 진단 빌드 상세 표시 활성화, 빌드 및 csc 명령 줄 게시, 어떤 참조가 컴파일러에 2 번 전달되었는지 확인해야합니다.