为什么我不能在Visual Studio 2015中创建共享项目?

kri*_*per 27 c# visual-studio visual-studio-2015

我下载了2015年的visual studio社区.我试图创建一个共享项目并收到错误:

在此输入图像描述

来自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>
Run Code Online (Sandbox Code Playgroud)

我没有名称为8.1的文件夹

Dam*_*ver 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')" />    
Run Code Online (Sandbox Code Playgroud)

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

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

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

这是(信不信由你)我从MS收到的关于这个问题的建议.我认为这与RC(或更早版本)版本对RTM的不干净升级以及安装期间选择的不同选项有关.


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

  • 这个解决方案对我有用.如果安装了VS Enterprise 2015 RC 1,则安装最终版本.更新VS以支持Xamarin项目时出现问题 (2认同)

Jar*_*das 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.


Igo*_*vas 7

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

我所做的只是:

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

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

然后,您可以创建您的项目.

  • @RobBird:如果您在运行Windows 7的公司,它也不起作用.项目模板根本不可用. (2认同)

Jan*_*icz 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