我有一个我认为可能很常见的问题,在网上搜索但什么也没找到。
我们使用的是共享开发机器,每个开发人员都通过 RDP 连接,并拥有自己的配置文件、桌面等。
我遇到的问题是 IIS express。由于它是在用户级别配置的(documents/iisexpress/config 中的 applicationhost.config)并且配置的端口必须与 .csproj 文件中声明的端口匹配,因此两个开发人员不可能在同一个端口上运行,因为它会给出错误“该端口已在使用中”。
因此,为了使其工作,我们必须为每个开发人员手动更改 csproj 和 applicationhost.config 中的端口,但这只是一个临时修复,因为当我们将更改提交到 SVN 时,csproj 文件被合并,所以我们有每次有人提交/更新时执行此过程。
我的问题是:有没有一种干净的方法可以在共享开发机器上将 IIS express 与 Visual Studio 2010 一起使用?
谢谢。
最佳答案
部分测试的答案。不确定它如何在多用户工作站上工作。它可能会为您或这里的其他人提供一个在您现有环境中效果最好的适当解决方案的快速启动。
似乎 Visual Studio 将所有 Web 配置存储在 csproj/vbproj 中,而 IISExpress 将其配置存储在 %userprofile%\Documents\IISExpress\config\ApplicationHost.Config 中。
通常,我们将 csproj 文件存储在源代码管理中,但忽略 csproj.user 文件,以便每个人都有一些独特的设置,例如 web 配置。
通过取消选中将服务器设置应用到所有用户,然后提交到源代码管理选项,将 Web 设置复制到 csproj.user。
提取源副本的每个用户都必须配置其 Web 设置,使用其他用户未使用的唯一端口,并取消选中上面的框,以便他们的配置不会传递给其他用户。
这样做,每个配置文件都将拥有自己的 IIS Express ApplicationHost.Config,配置的端口与其他配置文件不同。每个用户的源副本都将具有一个 csproj.user,该用户在其配置文件的 IIS Express 配置中配置了相同的端口。
以供引用:
我尝试更改 IIS Express 的 ApplicationHost.Config 以使用与 Visual Studio 预期不同的端口,并且 Visual Studio 无法将调试器连接到 IIS Express。
IIS Express 的配置如何工作:http://msdn.microsoft.com/en-us/library/ms178109.aspx
关于visual-studio-2010 - 共享开发机器 (rdp) 上的 IIS Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588258/