将可移植类库项目.csproj文件从版本2(Beta)转换回版本1

时间:2012-05-15 18:01:05

标签: monodevelop visual-studio-2012 portable-class-library

我正在尝试在VS10,VS11和MonoDevelop3之间向前和向后移动大量代码。

似乎MonoDevelop3对PCL1有一些初步支持,但VS10和VS11现在都使用PCL2(Beta) - 因为我在与VS10相同的PC上安装了VS11。

为了让MonoDevelop3能够加载这些PCL2(Beta)项目,我试图手动操作PCL项目。

看起来这不像在.csproj XML文件中更改TargetProfile那么简单 - 似乎需要更多......但我无法解决问题。

有谁知道PCL2和PCL1之间的确切差异是什么?或者我如何手动转换PCL2项目文件以便将它们加载到MonoDevelop中?

由于

斯图尔特

示例PLP2项目文件看起来有点像:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{B6E27475-E7D0-448C-A5CC-5097DCA1E2DD}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Cirrious.MvvmCross</RootNamespace>
    <AssemblyName>Cirrious.MvvmCross</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile>Profile104</TargetFrameworkProfile>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
  </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>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Windows" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Application\MvxApplication.cs" />
    etc
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
</Project>

1 个答案:

答案 0 :(得分:1)

现在关闭这个问题。

在详细研究之后......似乎项目文件之间没有任何显着差异。

相反,似乎对这些文件的monoDevelop支持还处于青春时期,如果您希望在MonoDevelop(3.0.2)中打开这些文件,必须使用Profile1

所以使用:

<TargetFrameworkProfile>Profile1</TargetFrameworkProfile>

<TargetFrameworkProfile>Profile2</TargetFrameworkProfile>