运行 winforms 客户端,不使用引用的 wcf 服务启动 iisexpress - Windows 10. 想法?
Running winforms client, does not start iisexpress with the referenced wcf service - under Windows 10. Ideas?
我有一个包含 2 个项目的 vs 解决方案——WinForms 客户端和 WCF 服务。
自从 visual studio 2013 年到 2019 年(我在 Windows 7 岁以下),每次我 运行 在调试 WinForm 客户端时,VS 都会自动在后台启动 IISExpress(我想要那个!) ,我的客户端调用成功,很容易在 WCF 服务内的断点处停止。
上周收到新盒子Windows10,现在启动客户端,没有iisexpress。
源代码是一样的,没有改变——我的同事在 Windows 7 下,这对他们有用——相同的代码——我们使用 git 作为版本控制。
我唯一一次看到 iisexpress 是 "Update Service Reference" 或者我创建了 WCF 启动项目并 运行 它。
你能帮我确定为什么这个功能停止工作吗?修复的想法?
Windows10,Visual Studio2019 企业版,.NET 4.6
编辑:我没有问题 运行 在 IISExpress 中设置 web 服务,当我特别 运行 它时 - 它有效,如果我设置 2 个启动项目,也在解决方案级别,一切都会有效.主要问题是对于单一启动项目 - thw WinForms 客户端,Visual Studio 不会启动 IISExpress 实例。这只是开发时间问题,这适用于我的同事。
看来您想单独调试 WinForms
应用程序而不管 WCF 应用程序。我们可以在 VS 解决方案的 属性 页面中设置项目依赖项。
然后打开 SVC 文件,按 F5 启动 WCF 应用程序,以便我们可以在 WinForms
应用程序中添加服务引用。
请确保在 WCF 应用程序项目的 属性 页面中进行以下配置。
此外,如果IISExpress有问题,我们可以在下面的对话框中选择修复IISExpress。
在我这边,它就像一个魅力。
如果问题仍然存在,请随时告诉我。
解决方法在WCF项目中VS生成(缺失重新生成)用户文件
.csproj.user
有 属性
<AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
必须是True,但现在默认为False。
*.user 文件不会进入版本控制,如果它们丢失,VS 会重新生成它们,因此我的同事有它,而我新克隆的 repo 没有。
我很确定我从未在 WCF 项目上接触过这个文件或进行过任何类似的配置,我怀疑 MS 决定在某些版本或补丁中开始默认为 False。
WARNING!更改选项后,close/open整个解决方案或重启VS。
免责声明:我在 VS 报告问题按钮的构建中找到了这个解决方案,该按钮指向一个包含报告的问题和解决方案的门户。我看不出如何从那个反馈工具中复制 link 或任何东西,但这是值得称赞的人:佐々木隆幸
我有一个包含 2 个项目的 vs 解决方案——WinForms 客户端和 WCF 服务。 自从 visual studio 2013 年到 2019 年(我在 Windows 7 岁以下),每次我 运行 在调试 WinForm 客户端时,VS 都会自动在后台启动 IISExpress(我想要那个!) ,我的客户端调用成功,很容易在 WCF 服务内的断点处停止。
上周收到新盒子Windows10,现在启动客户端,没有iisexpress。 源代码是一样的,没有改变——我的同事在 Windows 7 下,这对他们有用——相同的代码——我们使用 git 作为版本控制。
我唯一一次看到 iisexpress 是 "Update Service Reference" 或者我创建了 WCF 启动项目并 运行 它。
你能帮我确定为什么这个功能停止工作吗?修复的想法?
Windows10,Visual Studio2019 企业版,.NET 4.6
编辑:我没有问题 运行 在 IISExpress 中设置 web 服务,当我特别 运行 它时 - 它有效,如果我设置 2 个启动项目,也在解决方案级别,一切都会有效.主要问题是对于单一启动项目 - thw WinForms 客户端,Visual Studio 不会启动 IISExpress 实例。这只是开发时间问题,这适用于我的同事。
看来您想单独调试 WinForms
应用程序而不管 WCF 应用程序。我们可以在 VS 解决方案的 属性 页面中设置项目依赖项。
然后打开 SVC 文件,按 F5 启动 WCF 应用程序,以便我们可以在 WinForms
应用程序中添加服务引用。
请确保在 WCF 应用程序项目的 属性 页面中进行以下配置。
此外,如果IISExpress有问题,我们可以在下面的对话框中选择修复IISExpress。
在我这边,它就像一个魅力。
如果问题仍然存在,请随时告诉我。
解决方法在WCF项目中VS生成(缺失重新生成)用户文件 .csproj.user 有 属性
<AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
必须是True,但现在默认为False。 *.user 文件不会进入版本控制,如果它们丢失,VS 会重新生成它们,因此我的同事有它,而我新克隆的 repo 没有。
我很确定我从未在 WCF 项目上接触过这个文件或进行过任何类似的配置,我怀疑 MS 决定在某些版本或补丁中开始默认为 False。
WARNING!更改选项后,close/open整个解决方案或重启VS。
免责声明:我在 VS 报告问题按钮的构建中找到了这个解决方案,该按钮指向一个包含报告的问题和解决方案的门户。我看不出如何从那个反馈工具中复制 link 或任何东西,但这是值得称赞的人:佐々木隆幸