0

我有以下设置:

  • 主网站 - MVC 3 项目,托管在 www.domain.com

  • Intranet Web App - MVC 3 项目,windows 身份验证,托管在 admin.domain.com 上,只能从本地子网内访问。

  • CDN 网站 - 一个简单的 Web 应用程序,仅向上述两者提供图像。当我们上线时,它将(公开)托管在 cdn.domain.com 上。我已经建立了一个本地项目来在开发过程中模拟 CDN。

我编写了一个业务层,允许管理面板中的用户上传图像,然后将其物理保存到配置的 CDN 路径(当前在本地计算机上,即 C:\Code\SolutionName\CDNProject\images)。然后主网站使用相同的业务层通过http://cdn.domain.com/images/查找和分发图像。http://cdn.domain.com当前设置为http://localhost:55555,而我们正在开发。

每当通过管理面板创建图像时,它都是在磁盘上物理创建的。每个开发人员都在自己的机器上工作,我们希望能够暂时将这些文件签入 TFS。您可能已经猜到了,将文件添加到文件系统并不会在项目中自动引用它们:

损坏的参考文献

我认为可能有某种方法可以将这些图像作为资源引用,或者将目录设置为某种“内容”目录......但我找不到任何东西。

一些开发人员通过 VPN 远程工作,并且无法访问本地网络(仅 TFS),因此网络路径不是可接受的解决方案。

我想我可以设置一个预构建事件,将目录中的所有文件添加到项目中?

4

2 回答 2

1

没有非常简单的方法可以做到这一点。有几种方法可以考虑:

1) 编写 VS 添加,将新文件添加到项目中(通过 DTE -起点)。了解如何在预构建步骤中自动运行此 VS 插件。将此插件安装到您的开发人员机器上。

2) 扩展您的管理逻辑,通过TFS API自动将上传的文件签入到 TFS

3) 尝试应用更复杂的技术,例如:T4 教程:在 Visual Studio 项目中集成生成的文件

希望有帮助,

于 2012-06-07T13:45:02.073 回答
0

Visual Studio 项目文件具有 XML 语法。可以在简单的文本编辑器中修改项目文件属性(添加/删除文件等)。

您可以创建一个脚本来打开您的解决方案,在实际打开解决方案之前,您可以扫描该目录并在项目文件中“注入”文件(使用适当的 XML 标记)。

我认为您不能将其添加为预构建事件,因为此时项目文件已经加载,并且在使用它们时您无法修改它们。

于 2012-06-07T14:21:37.837 回答