silverlight - 如何使用 Microsoft.Build.BuildEngine 构建 Silverlight 项目?

标签 silverlight msbuild

我正在使用 Microsoft.Build.BuildEngine 构建多个项目。不使用 Silverlight 的项目可以正确构建,而使用 Silverlight 的项目则不能构建。所有这些项目(Silverlight 和非 Silverlight)都可以通过 Visual Studio 2008 正常构建。我收到错误消息:

error CS0234: The type or namespace name 'SilverlightControls' does not exist in the namespace 'System.Web.UI' (are you missing an assembly reference?)

我已将 System.Web.Silverlight 添加到使用 Microsoft.Build.BuildEngine 进行构建的项目中。我也能够在进行构建的项目中看到该命名空间(因此看起来进行构建的项目确实可以访问 System.Web.UI)。

关于如何避免该错误的任何想法?


通过 VS2008 提高了构建的详细程度,并与从 Microsoft.Build.BuildEngine 创建的日志进行了比较。看起来 Microsoft.Build.BuildEngine 正在生成如下行:

Considered "c:\Program Files\Reference Assemblies\Microsoft\Framework \v3.5\System.Web.Silverlight.dll", but it didn't exist.

它不存在于那个位置,不是吗?实际上它在很多位置寻找该 dll 但没有找到它。我通过右键单击添加引用,添加引用,.Net,添加。我的机器上似乎没有 System.Web.Silverlight.dll(这很奇怪,因为该项目确实使用 VS2008 进行编译)。

比较两个日志的可能相关部分: Microsoft.Build.BuildEngine

For SearchPath "{GAC}". Considered "System.Web.Silverlight, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL", which was not found in the GAC.

Visual Studio 2008

System.Web.Silverlight, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL


手动将 System.Web.Silverlight 添加到 Microsoft.Build.BuildEngine 寻找它的路径(当我通过 VS2008 构建项目时从输出目录复制它)。这解决了该问题,但我现在在解决方案的 Silverlight 组件上收到以下错误:

C:\Program Files\MSBuild\Microsoft\Silverlight \v2.0\Microsoft.Silverlight.Common.targets(95,9): error : The Silverlight 2 SDK is not installed.

有什么想法吗?

最佳答案

在运行 Microsoft.Build.BuildEngine 的应用程序中,我将构建类型从 Any CPU 更改为 x86。现在,这使应用程序能够按预期构建目标。

关于silverlight - 如何使用 Microsoft.Build.BuildEngine 构建 Silverlight 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1237119/

相关文章:

Silverlight 4 webclient 身份验证 - 任何人都可以使用吗?

c# - 如何知道我的 Silverlight 应用程序是否在本地运行?

Silverlight 与 Visual Studio 2010 独立存储错误

c# - 使用 silverlight 在 xaml 中分配枚举属性

msbuild - 替换msbuild变量中的字符

msbuild - 使用源文件/行显示来自构建时工具的错误

c# - 导入的项目 C :\. ..\v4.5\Microsoft.Expression.Blend.WPF.targets”未找到