Project不显示“Import Project”引用的文件(System.Data.SQLite解决方案)

时间:2011-06-22 05:28:58

标签: visual-studio system.data.sqlite project-files

我在加载System.Data.SQLite source solution时遇到了一些麻烦。 System.Data.SQLite.2010项目似乎是空的,实际上它不包含对文件的引用。但是项目文件包含如下字符串:

<Import Project="$(MSBuildProjectDirectory)\System.Data.SQLite.References.targets" />
<Import Project="$(MSBuildProjectDirectory)\System.Data.SQLite.Properties.targets" />
<Import Project="$(MSBuildProjectDirectory)\System.Data.SQLite.Files.targets" />

实际上包含对文件的引用。但看起来这个Import Project指令被我的VS忽略了。有什么我想念的吗?或者我可能需要安装一些插件?解决方案是从VS成功构建的,我只想查看文件,以便我可以更轻松地在源上进行导航。

1 个答案:

答案 0 :(得分:2)

你没有错过任何插件,VS也没有忽略Import指令。构建项目时使用import指令。

如果您构建项目,它构建正常,并具有可在System.Data.SQLite * .cs中找到的所有类。

我想其中一个原因就是为了保护“核心”框架文件免遭意外修改。

如果您希望在解决方案文件夹中看到这些文件 -

  1. 在记事本或您喜欢的编辑器中打开 System.Data.SQLite.Files.targets System.Data.SQLite.2010.csproj
  2. 复制ItemGroup个节点并将其粘贴到 System.Data.SQLite.2010.csproj
  3. 注释掉<Import Project="$(MSBuildProjectDirectory)\System.Data.SQLite.Files.targets" />并保存csproj文件。
  4. 再次打开解决方案文件,或者如果已经打开,请重新加载项目以查看文件。
  5. 以上是我的csproj在上述修改后看到的内容:

    <?xml version="1.0" encoding="utf-8"?>
    <!--
     *
     * System.Data.SQLite.2010.csproj -
     *
     * Written by Joe Mistachkin.
     * Released to the public domain, use at your own risk!
     *
    -->
    <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>
        <ProductVersion>10.0.30319</ProductVersion>
        <SchemaVersion>2.0</SchemaVersion>
        <ProjectGuid>{AC139952-261A-4463-B6FA-AEBC25283A66}</ProjectGuid>
        <OutputType>Library</OutputType>
        <AppDesignerFolder>Properties</AppDesignerFolder>
        <RootNamespace>System.Data.SQLite</RootNamespace>
        <AssemblyName>System.Data.SQLite</AssemblyName>
        <OldToolsVersion>3.5</OldToolsVersion>
        <SQLiteNetDir>$(MSBuildProjectDirectory)\..</SQLiteNetDir>
        <ConfigurationYear>2010</ConfigurationYear>
      </PropertyGroup>
      <Import Project="$(SQLiteNetDir)\SQLite.NET.Settings.targets" />
      <PropertyGroup Condition="'$(BinaryOutputPath)' != ''">
        <OutputPath>$(BinaryOutputPath)</OutputPath>
        <DocumentationFile>$(BinaryOutputPath)System.Data.SQLite.xml</DocumentationFile>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
        <DebugSymbols>true</DebugSymbols>
        <DebugType>full</DebugType>
        <Optimize>false</Optimize>
        <DefineConstants>DEBUG;TRACE</DefineConstants>
        <ErrorReport>prompt</ErrorReport>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        <DebugType>pdbonly</DebugType>
        <Optimize>true</Optimize>
        <DefineConstants>TRACE</DefineConstants>
        <ErrorReport>prompt</ErrorReport>
      </PropertyGroup>
      <Import Project="$(MSBuildProjectDirectory)\System.Data.SQLite.References.targets" />
      <Import Project="$(MSBuildProjectDirectory)\System.Data.SQLite.Properties.targets" />
      <!--<Import Project="$(MSBuildProjectDirectory)\System.Data.SQLite.Files.targets" />-->
      <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
      <ItemGroup>
        <Compile Include="AssemblyInfo.cs" />
        <Compile Include="SQLite3.cs" />
        <Compile Include="SQLite3_UTF16.cs" />
        <Compile Include="SQLiteBase.cs" />
        <Compile Include="SQLiteCommand.cs">
          <SubType>Component</SubType>
        </Compile>
        <Compile Include="SQLiteCommandBuilder.cs">
          <SubType>Component</SubType>
        </Compile>
        <Compile Include="SQLiteConnection.cs">
          <SubType>Component</SubType>
        </Compile>
        <Compile Include="SQLiteConnectionPool.cs" />
        <Compile Include="SQLiteConnectionStringBuilder.cs" />
        <Compile Include="SQLiteConvert.cs" />
        <Compile Include="SQLiteDataAdapter.cs">
          <SubType>Component</SubType>
        </Compile>
        <Compile Include="SQLiteDataReader.cs" />
        <Compile Include="SQLiteException.cs" />
        <Compile Include="SQLiteFactory.cs" />
        <Compile Include="SQLiteFunction.cs" />
        <Compile Include="SQLiteFunctionAttribute.cs" />
        <Compile Include="SQLiteKeyReader.cs" />
        <Compile Include="SQLiteMetaDataCollectionNames.cs" />
        <Compile Include="SQLiteParameter.cs" />
        <Compile Include="SQLiteParameterCollection.cs" />
        <Compile Include="SQLiteStatement.cs" />
        <Compile Include="SQLiteTransaction.cs" />
        <Compile Include="SR.Designer.cs">
          <DependentUpon>SR.resx</DependentUpon>
          <AutoGen>True</AutoGen>
          <DesignTime>True</DesignTime>
        </Compile>
        <Compile Include="UnsafeNativeMethods.cs" />
        <EmbeddedResource Include="SR.resx">
          <SubType>Designer</SubType>
          <Generator>ResXFileCodeGenerator</Generator>
          <LastGenOutput>SR.Designer.cs</LastGenOutput>
        </EmbeddedResource>
      </ItemGroup>
        <ItemGroup Condition="'$(IsCompactFramework)' == 'false'">
        <Compile Include="SQLiteEnlistment.cs" />
        <Compile Include="LINQ\SQLiteConnection_Linq.cs">
          <SubType>Component</SubType>
        </Compile>
        <Compile Include="LINQ\SQLiteFactory_Linq.cs">
          <SubType>Code</SubType>
        </Compile>
        <EmbeddedResource Include="SQLiteCommand.bmp" />
        <EmbeddedResource Include="SQLiteConnection.bmp" />
        <EmbeddedResource Include="SQLiteDataAdapter.bmp" />
      </ItemGroup>
      <!-- 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>