1

当我查看托管 Silverlight 项目的 ASP.NET 应用程序时,它有一个 Clientbin 文件夹,其中有一个 .xap 文件,该文件是从我的 Silverlight 项目编译的。

该文件不断检入 TFS。我有没有办法告诉 TFS 只是计划忽略它?

原因是,一旦文件被签入,如果我忘记将其签出,在构建 Silverlight 项目时,Visual Studio 会默默地(有一个警告,但没有任何东西阻止我启动调试器)失败,所以当我调试时,它会启动 TFS 中的版本,而不是我刚刚构建的版本。

我要做的就是检查我们的,或者直接删除(也检查出)相应的 xap 文件,然后构建 Silverlight 项目。当我这样做时,我注意到 Visual Studio 将文件放回 Clientbin 目录(如果我删除它,它首先撤消删除,但保持它被签出)。现在我可以调试正确版本的二进制文件。

那么,我做错了什么,我该如何解决这个问题?

4

1 回答 1

1

TFS2008 中有一个错误导致 Web 应用程序项目出现此错误(与网站项目相反,它应该可以正常工作),所以至少这不是你的错。这已在 VS2010/TFS2010 中修复。

Silverlight 论坛上的这个帖子包含这个建议:

我们遇到了同样的问题。

我删除了带有 xap 的 clientbin 文件夹,签入。

在_Web项目上,属性,silverlight app,去掉sl项目,保存,签入。

然后我阅读了我的 Silverlight 项目。

它现在似乎对每个人都有效,并且没有被纳入源代码控制。我希望这会有所帮助。

Silverlight 论坛的另一个帖子包含以下建议:

嗨,现在在 SL 3.0 中,情况似乎发生了变化。现在我们使用以下三个步骤来正确发布 xap。

1) 删除 SL 项目中的任何 post/pre build 脚本。

2) 在宿主项目 (web) 中:确保 ClientBin.xap 文件具有以下设置: 构建操作:内容复制到输出目录:不复制

3) 在 post pre-build 事件中,放置以下脚本:attrib -r ....\Sources[WebProject_NAME]\ClientBin[XAPFileName].xap

例如:attrib -r ....\Sources\test.web\ClientBin\sl.xap

(这最后一步避免了 TFS Build 中的“无法复制 xap 文件”错误)

于 2010-07-09T00:48:59.330 回答