web-dev-qa-db-ja.com

csprojのエラー-アイテムの複製

Visual Studio 2010でエラーが発生しました:

エラー1項目「CrossDomainService.svc.cs」が「Sources」パラメーターで複数回指定されました。重複アイテムは、「ソース」パラメーターではサポートされていません。 WcfServiceDomain

とmsbuildから

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.CSharp.targets(160,9):エラーMSB3105:項目「CrossDomainService.svc.cs」が「Sources」パラメーターで複数回指定されました。重複アイテムは、「ソース」パラメーターではサポートされていません。 [C:\ inetpub\Wwwroot\axaptaWcfConnection\WcfServiceDomain\WcfSer viceDomain.csproj]

私のファイルはcsprojです:

    <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>
    </ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{8D40933A-E036-4CD0-9003-314A692724D5}</ProjectGuid>
    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>WcfServiceDomain</RootNamespace>
    <AssemblyName>WcfServiceDomain</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile />
    <FileUpgradeFlags>
    </FileUpgradeFlags>
    <UpgradeBackupLocation>
    </UpgradeBackupLocation>
    <OldToolsVersion>4.0</OldToolsVersion>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>Prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>Prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System.Web.ApplicationServices" />
    <Reference Include="System.Web.DynamicData" />
    <Reference Include="System.Web.Entity" />
    <Reference Include="System.Configuration" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.EnterpriseServices" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System.ServiceModel" />
    <Reference Include="System.ServiceModel.Web" />
    <Reference Include="System.Web.Services" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="ClientAccessPolicy.xml" />
    <Content Include="CrossDomainService.svc" />
    <Content Include="Service1.svc" />
    <Content Include="Web.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Web.Debug.config">
      <DependentUpon>Web.config</DependentUpon>
    </Content>
    <Content Include="Web.Release.config">
      <DependentUpon>Web.config</DependentUpon>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="CrossDomainService.svc.cs">
      <DependentUpon>CrossDomainService.svc</DependentUpon>
    </Compile>
    <Compile Include="ICrossDomainService.cs" />
    <Compile Include="Service1.svc.cs">
      <DependentUpon>Service1.svc</DependentUpon>
    </Compile>
    <Compile Include="IService1.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>False</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>51421</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>
          </IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
</Project>

重複はありません:/このエラーからのアイデアはありますか?

53
netmajor

ソースファイルの1つに対して同じエラーが発生し、ソリューションで同じ問題に直面していましたが、

次のように修正しました。

  1. エラーが表示されているファイル名を確認してください。

  2. ファイルが含まれているプロジェクトを調べます。

  3. その特定のプロジェクトの.csprojファイルを開きます(このファイルは、ソリューションが配置されているディレクトリにあります)。

  4. .csprojファイルでエラーがスローされたファイル名を検索します。

  5. 次のような行の2つのエントリがあります。

 <Compile Include="duplicate.aspx.cs">
      <SubType>ASPXCodeBehind</SubType>
      <DependentUpon>Duplicate.aspx</DependentUpon>
    </Compile>


 <Compile Include="duplicate.aspx.cs">
      <SubType>ASPXCodeBehind</SubType>
      <DependentUpon>Duplicate.aspx</DependentUpon>
    </Compile>
  1. それらのいずれかから1行削除します。

  2. 変更を保存します。

  3. エラーがなくなっているはずのプロジェクトをリロードします。

93
NetStarter

同じ問題に遭遇した人にとっては、何も助けにならず、プロジェクトを再作成したくありません。YourPojectName.csproj.userファイルを削除してみてください。助けてくれました。前に手動で.csprojを変更しましたが、変更によって(おそらく)2つのファイルに何らかの矛盾が生じました。

5
Jindra

通常のテキストエディターでソリューションを開き、手動で重複を削除することができます。

4
Dmitry

私は同じ問題に少し前に遭遇したと思います。解決策は、web.configからサブタイプを削除することでした。

<Content Include="Web.config">
  <SubType>Designer</SubType>
</Content>

に:

<Content Include="Web.config">
</Content>

今、それらが再び追加されました、なぜかわかりません。詳細情報を検索しても、まだ解決されていません。参照: <サブタイプ>デザイナー</サブタイプ>追加/削除時にVisual Studioによってロード/アンロード

2
H.Wolper

簡単!プロジェクト内で適切にクリックし、「プロジェクトのアンロード」を選択します

もう一度右クリックして、edir your_project.csproj

エラーメッセージに記載されているファイルの重複タグを検索します。

保存して右クリックし、「プロジェクトの再読み込み」を選択します

Right click

2
Marcelo Lujan

私は同じ問題を抱えており、解決策はディレクトリ名を短縮してサニタイズすることでした(バックアップ名であり、日付と時刻はセミコロンで区切られています)。

1

ファイルを開きますWcfServiceDomain.csprojテキストエディタでCrossDomainService.svc.cs

おそらく2回そこにいるでしょう。行の1つを削除するだけで、プロジェクトは再び機能します。

1
Ivan Clay

この問題を解決するには、プロジェクトからクラスを削除し、再作成する必要がありました。

0
Mario Galván

この問題を修正した方法は、エラーに含まれていたファイルがある場所に移動し、同じファイルが2つあることを見つけることでした。それらのいずれかを削除すると、動作するはずです。

その後、ファイルが失われたため、保留中の変更を元に戻す必要がありましたが、再構築後に機能しました。

0
Sam Bunting

私がしたことは、問題のファイルの名前を変更したことです。次に、ソリューションをクリーンアップしました([ビルド]> [ソリューションのクリーンアップ]をクリックします)。その後、ソリューションを構築しました。

次に、ファイルの名前を元のファイル名に変更しました。次に、ソリューションをクリーンアップし、ソリューションを再構築しました。

それは私のために働いた。私はそれがあなたのために働くかどうかわからない。

私にとっては、プロジェクトをアンロードし、.csprojファイルを編集し、エラーで表示されていたファイル名を検索します

<ItemGroup>
    <Compile Include="Controllers\BaseUserContext.cs" />
</ItemGroup>

複数の時間(BaseUserContext.cs)が表示されず、タグは1つしかなかったため、削除してエラーなしで動作します。

0
Tarun Dudhatra