网络应用程序TFS 中的 Silverlight 项目,.xap 文件不断被签入,我可以避免它吗?

发布于 2024-09-08 07:23:05 字数 461 浏览 9 评论 0原文

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

该文件不断被签入 TFS。有没有办法让我告诉 TFS 计划忽略它?

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

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

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

When I look at my ASP.NET application that hosts a Silverlight project, it has a Clientbin folder, inside of which there is a .xap file, the one being compiled from my Silverlight project.

This file keeps being checked into TFS. Is there a way for me to tell TFS to just plan ignore it?

The reason is that once the file is checked in, if I forget to check it back out, it appears Visual Studio will silently (there is a warning, but nothing that prevents me from starting the debugger) fail when building the Silverlight project, so when I debug, it starts the version in TFS, not the version I just built.

What I have to do is either check our, or just plain delete (which also checks out) the corresponding xap files, then build the Silverlight project. When I do that, I notice that Visual Studio puts the file(s) back into the Clientbin directory (if I deleted it, it first undos the delete, but keeps it checked out). Now I can debug the right version of the binary.

So, what am I doing wrong, how can I fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅语花开 2024-09-15 07:23:05

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

Silverlight 论坛上的此帖子包含以下建议:

我们也遇到了同样的问题。

我删除了包含 xap 的 clientbin 文件夹,并签入了。

在_Web项目,属性,silverlight应用程序中,删除sl项目,保存,签入。

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

它现在似乎对每个人都有效,并且没有被读取到源代码管理中。我希望这对您有所帮助。

Silverlight 论坛中的此其他帖子包含以下建议:

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

1) 删除 SL 项目中的所有后/预构建脚本。

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

3) 在预构建后事件中,放置以下脚本:
attrib -r ....\Sources[WebProject_NAME]\ClientBin[XAPFileName].xap

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

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

There is a bug in TFS2008 which caused this error for Web Application Projects (as opposed to Web Site Projects, which should work fine), so at least it's not your fault. This was fixed in VS2010/TFS2010.

This thread on the Silverlight forums contains this suggestion:

We had the same problem.

I deleted the clientbin folder with the xap in it, checked in.

On the _Web project, properties, silverlight app, Removed the sl project, save, check in.

Then I readded my silverlight project.

It seems to be working for everyone now and isn't getting readded to source control. I hope that helps out.

This other thread from the Silverlight forums contains this suggestion:

Hi, it seems that now in SL 3.0 the things have changed.
Now we are using the following three steps in order to get the xap correctly published.

1) Remove any post/pre build script in the SL project.

2) In the host project (web):
Make sure the ClientBin.xap file has these settings:
Build Action: Content
Copy to Output Directory: Do not copy

3) In post pre-build event, put the following script:
attrib -r ....\Sources[WebProject_NAME]\ClientBin[XAPFileName].xap

For example:
attrib -r ....\Sources\test.web\ClientBin\sl.xap

(this last step avoid the "unable to copy the xap file" error from TFS Build)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文