无法在vs2012中打开vs2010 csproj文件

时间:2014-11-20 22:18:37

标签: c# visual-studio-2012

目标:

用winforms做xna。

从这个link获取代码以及程序员 Microsoft 的代码,其中包含一个包含三个项目的解决方案,表单项目,Content和ContentLibrary项目。

项目说明:

ContentLibrary项目构建了一个表单项目引用的dll(但它似乎没有任何东西,我不知道为什么)。
它以一种我从未见过的古怪方式引用内容项目 内容项目包含一个图片文件,没有别的,我不知道它构建了什么 最后是包含主要表单的表单项目,其中包含许多控件,包括用户定义的控件,一个继承xna控件的抽象,以及实现此控件的其他控件(这些将执行绘图)。

问题:

无法打开ContentLibrary项目 我收到的错误消息: C:\ Program Files(x86)\ MSBuild \ Microsoft \ XNA Game Studio \ Microsoft.Xna.GameStudio.targets未找到确认声明中的路径是否正确且文件存在于磁盘上

我的尝试:

用记事本打开ContentLibrary项目文件(.csproj one),这是我发现的:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{396ADBE6-FB16-4DBA-8C70-C16A46B448EA}</ProjectGuid>
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}     </ProjectTypeGuids>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ContentLibrary</RootNamespace>
<AssemblyName>ContentLibrary</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
<XnaProfile>Reach</XnaProfile>
<XnaCrossPlatformGroupID>e0c073d9-a61b-474a-bda0-a8ada2c89669</XnaCrossPlatformGroupID>
<XnaOutputType>Library</XnaOutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\x86\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget>
<XnaCompressContent>false</XnaCompressContent>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\x86\Release</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget>
<XnaCompressContent>true</XnaCompressContent>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.GamerServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Xact, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Video, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Avatar, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
  <Private>False</Private>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Storage, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
  <Private>False</Private>
</Reference>
<Reference Include="mscorlib">
  <Private>False</Private>
</Reference>
<Reference Include="System">
  <Private>False</Private>
</Reference>
<Reference Include="System.Xml">
  <Private>False</Private>
</Reference>
<Reference Include="System.Core">
  <RequiredTargetFramework>4.0</RequiredTargetFramework>
  <Private>False</Private>
</Reference>
<Reference Include="System.Xml.Linq">
  <RequiredTargetFramework>4.0</RequiredTargetFramework>
  <Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Content\Content.contentproj">
  <Project>{618DED89-9BA8-44D7-83A0-163041666FAC}</Project>
  <Name>Content</Name>
  <XnaReferenceType>Content</XnaReferenceType>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets" />
<!--
  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>

可选信息:

如果需要,我正在运行Windows 8 x64。

1 个答案:

答案 0 :(得分:3)

我在这里找到了一个解决方案: https://bitbucket.org/rbwhitaker/xna-beyond-vs-2010/downloads

给出的链接包含一个由PowerShell启动的脚本文件(类似于命令提示符)。如果您运行Windows 7或更高版本,则使用PowerShell,如果不使用此链接:
http://www.microsoft.com/en-us/download/details.aspx?id=40855

准备好后,请按照以下步骤操作:

  1. 打开PowerShell。
  2. 使用cd命令导航到放置脚本的位置。
  3. 运行以下命令:Set-ExecutionPolicy Unrestricted。这是因为PowerShell默认情况下不会激活脚本文件以保护您的计算机,您可以在完成后通过键入以下内容将其更改回来:Set-ExecutionPolicy Restricted
  4. 使用以下命令运行脚本:.\XnaFor2013.ps1
  5. 等待,需要一些时间,在我的电脑上花了大约15分钟。在较慢的计算机上可能需要更长时间(我的Windows 8 64位。)
  6. 如果您想知道此脚本的作用,请向下滚动到本页末尾:
    http://rbwhitaker.wikidot.com/setting-up-xna

    摘录以防止链接腐烂:

      

    首先,它从Microsoft下载XNA安装程序。

         

    事实证明,XNA安装程序只是一个自解压存档   其中包含大约七个其他安装程序。接下来就是了   脚本确实解压了那些“内部”安装程序。

         

    七个中的六个完全按照你想要的方式做,开箱即用,   所以脚本依次运行它们。

         

    另一个是将文件放在正确位置的安装程序   视觉工作室。不幸的是,它正在寻找Visual Studio 2010,   虽然你有一个较新的版本(2012年或2013年都使用   脚本)。所以脚本告诉这个安装程序只是放置文件   一个临时的位置。

         

    这些文件是为Visual Studio 2010构建的,需要进行一些更改,   所以脚本进行更改并将它们放在适当的位置   您的Visual Studio版本的位置。 (事实上​​,它适用于所有人   您安装的Visual Studio版本,无论是否   它是2012年或2013年,无论是付费版还是快递版   对于Windows桌面。)

         

    不幸的是,Visual Studio不会自动检查新内容   加载项。 (实际上,这是一件好事,因为它需要太长时间   一直检查,但在这种情况下,它是坏的,因为我们需要它   检查。)为了检查新的插件,脚本删除了   扩展缓存并让Visual Studio重建它。重建缓存   占用脚本运行的大部分时间。 (几分钟。)

         

    一旦重建,一切准备就绪,脚本将被删除   它创建的临时文件。