根据此处的答案:我应该卸载哪些最近的 Windows 更新(如果有)以恢复 Silverlight 或纠正其他问题?,我卸载/重新安装 Silverlight 并重新启动。但是,现在我得到一个编译错误,即:
“未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.CSharp.targets”。确认声明中的路径正确,并且文件存在于磁盘上。”
它指向 *.csproj 文件中的这一行:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
我不明白这是在做什么,确切地说;如果从远处看是可以理解的,我需要做什么来解决这个困境?
更新
当我尝试安装 Silverlight 4 工具时(如某些指示是一个/解决方案,例如Silverlight 4: Resolving Microsoft.Silverlight.CSharp.targets was not found?),我得到,“安装要求:
必须先安装与 Silverlight Tools 4 的语言版本匹配的 Visual Studio 2010 或 Visual Web Developer Express 2010 或 Visual Phone Developer Express 2010,然后才能继续安装 Silverlight Tools。Silverlight 工具提供其他语言版本,网址为http://go.microsoft.com/fwlink/?LinkId=177432。"
我确实安装了 VS 2010 (SP1)。我什至还安装了用于 Web 的 VS Express (2012)!
更新 2
根据另一个提示,我还安装了 Silverlight 4 SDK,但现在尝试打开项目时,我得到,“您需要在打开 Silverlight 项目 'Bla' 之前安装最新的 Silverlight Developer 运行时。” 它让我(再次)安装 Silverlight 5。
我这样做了,但是我重新启动了,并且...仍然得到相同的错误消息...
更新 3
我在 csproj 文件中替换了这一行:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
...有了这个:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
...而且我比以前走得更远,但我不知道最后的改变是否是必要的改变,或者上面列举的所有步骤是否都是必要的。除了影子之外,很可能没有人知道。
更新 4
实际上,只需添加该行(无需替换另一行),项目就可以编译,但似乎失去了对 Razor 或其他东西的了解,因为它失败了这个 YSOD:
Server Error in '/TLDReporter' Application.
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS0103: The name 'Helprs' does not exist in the current context
Source Error:
Line 493: <div class="inner" style="width: 300px;">
Line 494: <p id="portal_breadcrumbs" class="breadcrumb">
Line 495: @Helprs.Sitemap(ConfigurationManager.AppSettings["ApplicationHome"])
Line 496: </p>
Line 497: </div>
Source File: c:\Project\. . .\Shared\_Layout.cshtml Line: 495
更新 5
好吧,无论出于何种原因,地平线上出现的短暂希望只是短暂的海市蜃楼——同样的错误在发布上一次更新后立即返回。
但是,一旦我替换了这个:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\$(SilverlightVersion)\Microsoft.Silverlight.CSharp.targets" />
...有了这个:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" />
...基于此: http: //msdn.microsoft.com/en-us/library/ff921165 (v=PandP.20).aspx
...我走得更远,但又回到了这个编译点:
@Helprs.Sitemap(ConfigurationManager.AppSettings["ApplicationHome"])
更新 6
所有这一切都非常奇怪的是解决方案可以编译,但是当我运行它时,它会抛出一个声称是编译错误结果的 YSOD。为什么编译器会成功编译,但是当我去运行应用程序时,却突然停了下来,以一种不自然的尖锐声调尖叫着“编译错误”?