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

时间:2015-07-22 14:05:46

标签: c# visual-studio visual-studio-2015

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

enter image description here

来自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 个答案:

答案 0 :(得分: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以及在安装过程中选择不同的选项有关。

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

答案 1 :(得分: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。

答案 2 :(得分:7)

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

我所做的只是:

  1. 打开VS 2015
  2. 点击文件 - &gt;新建 - &gt;项目
  3. 选择唯一的 Windows 8下的项目模板
  4. 这将启动Visual Studio安装程序,您可以在其中安装缺少的模板。

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

答案 3 :(得分: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