为什么我无法在 Visual Studio 2015 年创建共享项目?

Why can't I create Shared Project in Visual Studio 2015?

我下载了 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 的文件夹

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

我所做的只是:

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

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

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

尝试将 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。

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

打开文件 %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 以及在安装过程中选择了不同的选项有关。


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

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

解决办法是去控制面板|程序 |卸载程序。 Select Visual Studio 2015 和 "Modify" Visual Studio 2015 的已安装实例:

[抱歉,我无法显示图片 b/c 我没有 10 的声誉,whosebug.com 阻止了我]

之前的(虚构的)屏幕截图来自 Visual Studio 2015 Professional 的默认安装。您可以四处乱逛并确定要安装的确切功能,或者如果您有磁盘 space,只需单击 "Select All",然后单击 "Next"。提示:"Next" 按钮只有在对 Visual Studio 2015 的选定组件进行更改后才能启用。

如果你想看到完整的缺失图片,我写了一篇关于这个问题的博客post:http://www.softwarepronto.com/2015/08/visual-studio-2015-error-adding-shared.html