Silverlight 4:没有找到解决Microsoft.Silverlight.CSharp.targets的问题?

时间:2010-08-28 15:46:17

标签: visual-studio-2010 visual-studio silverlight

我已经在Visual Studio 2010中将一些Silverlight 3应用程序升级到Silverlight 4.我的Silverlight 3应用程序在Visual Studio中打开很好,但SL4应用程序没有,但出现以下错误:

C:\Path\To\MyProject.csproj : error : Unable to read the project file 'XNTVOD.AdminClient.csproj'. C:\Path\To\MyProject.csproj(593,3): The imported project "C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

我遇到了较旧的VS Silverlight组件的问题,最近卸载了大部分SL组件,现在我在添加/删除程序中遇到了问题:

  1. Microsoft Silverlight
  2. Microsoft Silverlight 3 SDK
  3. Microsoft Silverlight 4 Toolkit 2010年4月
  4. 对于SL4项目,<import>声明如下所示:

    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />

    该文件夹C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0中只有两个文件:

    Microsoft.Ria.Client.targets

    Microsoft.Ria.Client.VisualStudio.targets

    特别是我缺少什么Silverlight开发组件?我看到了许多不同的选项,从Silverlight 4 SDK Beta到VS Tools for Silverlight 4以及其他一些选项。我不想安装那些会让我回到过去的情况之前的东西。

6 个答案:

答案 0 :(得分:44)

看起来这是缺失的一块......

Silverlight 4 Tools for Visual Studio 2010

答案 1 :(得分:18)

Silverlight 4 SDK中缺少的文件。您可以只安装Silverlight 4 SDK,也可以重新安装整个Silverlight 4 Tools for VS2010包(它将重新安装开发人员运行时,SDK,VS2010的修补程序,Silverlight 4 Tools包和WCF RIA)服务)。

答案 2 :(得分:11)

如果在版本5中打开,如果版本4位不在该计算机上,则可以使用Silverlight版本4项目获得此项目。什么对我有用(经过几个小时的尝试)是编辑csproj文件并更改silverlight目标版本

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

从4到5

答案 3 :(得分:5)

这对我来说效果很好......还必须安装Silverlight 4 Developer runtime

答案 4 :(得分:4)

经过多次尝试,对我有用的是: 1.去添加或删除程序 2.删除所有安装的Silverlight版本(4,5或者即使未指定版本也将其删除!) 3.安装Silverlight 4 SDK 4.为开发人员安装Silverlight 5 最后在VS 2010 SP1中打开了项目

答案 5 :(得分:0)

当您在服务器上安装新版本的TFS时(或者与我的MSBuild混淆的任何东西),以前正在运行的安装可能会中断。

我的'目标'文件已从Server 2012上的C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v5.0中消失,并重新安装了这些工具。

我相信可能只是从另一台机器上复制目标文件,但不是100%确定。