我不认为它可以作为命令行开关使用。我做了一些搜索,只在这里找到了你的问题。
如果我在 VS 2013 Update 1 中进行发布并启用调试,它会在输出目录中创建一个临时 .cscfg 文件以及要上传的包(现在几乎是原来的两倍)。 .cscfg 文件包含一些额外的设置:
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.Connector.Enabled" value="true" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.Connector.Version" value="2.3" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.ClientThumbprint" value="XXXX" />
<Setting name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.ServerThumbprint" value="XXXX" />
其中 XXXX 是 VS 创建的证书的指纹,并安装在证书存储(我的本地)中,其友好名称为 RemoteDebuggerZZZZZ。
更新的 .csdef 文件包含我的网络角色的以下部分:
<Endpoints>
<InputEndpoint name="HttpIn" protocol="http" port="80" localPort="80" />
<InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="https" localPort="443" />
<InstanceInputEndpoint name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.Connector" localPort="30398" protocol="tcp">
<AllocatePublicPortFrom>
<FixedPortRange min="30400" max="30424" />
</AllocatePublicPortFrom>
</InstanceInputEndpoint>
<InstanceInputEndpoint name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.Forwarder" localPort="31398" protocol="tcp">
<AllocatePublicPortFrom>
<FixedPortRange min="31400" max="31424" />
</AllocatePublicPortFrom>
</InstanceInputEndpoint>
</Endpoints>
对于我的工人角色:
<Endpoints>
<InstanceInputEndpoint name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.Connector" localPort="30398" protocol="tcp">
<AllocatePublicPortFrom>
<FixedPortRange min="30425" max="30449" />
</AllocatePublicPortFrom>
</InstanceInputEndpoint>
<InstanceInputEndpoint name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.Forwarder" localPort="31398" protocol="tcp">
<AllocatePublicPortFrom>
<FixedPortRange min="31425" max="31449" />
</AllocatePublicPortFrom>
</InstanceInputEndpoint>
</Endpoints>
它还为我的工作者角色添加了一个证书部分:
<Certificates>
<Certificate name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.TransportValidation" storeLocation="LocalMachine" storeName="My" />
</Certificates>
..并为我的网络角色添加了相同的证书:
<Certificates>
<Certificate name="https" storeLocation="LocalMachine" storeName="My" />
<Certificate name="Microsoft.WindowsAzure.Plugins.RemoteDebugger.TransportValidation" storeLocation="LocalMachine" storeName="My" />
</Certificates>
我已经手动添加了“https”证书,所以之前就已经存在了。
VS 中的工具似乎创建了一系列端口来访问远程调试工具使用的端口 30398 和 31398,并将“TransportValidation”证书添加到证书列表中。
没有为这两种角色类型添加额外的设置或导入。
我还没有找到这方面的一些文档,所以如果有人能提供一些线索,请这样做!
希望这可以帮助其他尝试此操作的人。