28

我下载了 Visual Studio Community 2015。我尝试创建一个共享项目,但出现错误:

在此处输入图像描述

来自 Microsoft.Windows.UI.Xaml.CSharp.targets 的内容

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup Condition="'$(TargetPlatformVersion)'==''">
        <TargetPlatformVersion>8.0</TargetPlatformVersion>
    </PropertyGroup>

    <PropertyGroup Condition="'$(TargetPlatformIdentifier)' == 'UAP'">
        <RedirectionTarget>8.2</RedirectionTarget>
    </PropertyGroup>

    <PropertyGroup Condition="'$(RedirectionTarget)' == ''">
        <RedirectionTarget>$(TargetPlatformVersion)</RedirectionTarget>
    </PropertyGroup>

    <!-- Direct 8.0 projects to 8.1 targets to enable retargeting  -->
    <PropertyGroup Condition="'$(RedirectionTarget)' == '8.0'">
        <RedirectionTarget>8.1</RedirectionTarget>
    </PropertyGroup>

    <Import Project="$(RedirectionTarget)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
</Project>

我没有名称为 8.1 的文件夹

4

4 回答 4

35

一种解决方法是进行以下编辑:

打开文件%ProgramFiles(x86)%\MSBuild\Microsoft\VisualStudio\v14.0\CodeSharing\Microsoft.CodeSharing.CSharp.targets(对于 Visual Basic,文件是Microsoft.CodeSharing.VisualBasic.targets)并在第 8 行附近查找以下条目 -

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets')"/>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" Condition="!Exists('$(MSBuildExtensionsPath32)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets')" />    

将这些行更改为以下内容 -

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" Condition="false"/>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" Condition="true" />

基本上,撤消Xaml基于共享项目的条件导入。

这是(信不信由你)我从 MS 收到的关于这个问题的建议。我认为这与将 RC(或更早)版本升级到 RTM 以及在安装过程中选择不同选项有关。


(插入关于编辑不“属于”您的文件的常见警告,进行备份,如果您没有信心进行此类编辑,请不要)

于 2015-07-28T09:41:34.587 回答
8

尝试将 8.0 和 8.1 目录从 C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v12.0 复制到 C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v14.0 (注意版本号在结束)。

似乎在 Windows 7 上的 2015 安装中缺少这些。

之后,您需要重新启动 Visual Studio。

于 2015-07-28T09:23:55.413 回答
7

要解决此问题,请安装 Windows 8/8.1 项目模板。

我所做的只是:

  1. 打开 VS 2015
  2. 单击文件->新建->项目
  3. 选择Windows 8下唯一的Project模板

这将启动 Visual Studio 安装程序,您可以在其中安装缺少的模板。

然后你可以创建你的项目。

于 2015-07-22T17:49:36.247 回答
7

这不是一个难题。Kriper 先生(问题的原始提问者)可能使用“默认安装”安装了他的 Visual Studio 2015 版本。答案 2 中的 Kondrasovas 先生指出需要安装更多组件。他的方法导致 Visual Studio 显示设置实用程序错误,这不是 Kondrasovas 先生的错。如果您没有遇到错误,Kondrasovas 先生的答案可能是正确的(我无法验证答案)。

解决方案是转到控制面板 | 程序 | 卸载程序。选择 Visual Studio 2015 并“修改”已安装的 Visual Studio 2015 实例:

[对不起,我无法显示图像 b/c 我没有 10 的声誉并且 StackOverflow.com 阻止了我]

之前的(虚构的)屏幕截图来自 Visual Studio 2015 Professional 的默认安装。您可以四处寻找要安装的确切功能,或者如果您有磁盘空间,只需单击“全选”,然后单击“下一步”。提示:在对 Visual Studio 2015 的选定组件进行更改之前,不会启用“下一步”按钮。

如果您想完整地查看丢失的图像,我写了一篇关于这个问题的博客文章:http: //www.softwarepronto.com/2015/08/visual-studio-2015-error-adding-shared.html

于 2015-08-22T16:49:40.420 回答