我正在尝试在机器之间使用FormsAuthentication移动LightSwitch 2012解决方案,因此我在一台计算机上添加了TFS解决方案(使用我的TFSPreview帐户)并检查了所有内容。
在新机器上我进行了一次提取,打开了解决方案并尝试运行。应用程序启动时,将显示Loading...
屏幕,但不会消失。我没有收到错误消息。
如果我从查询字符串中删除?IsLaunchedByVS=True
,那么我会看到登录屏幕。
我从旧机器上拉出原始工作源,将其复制到新机器上,打开并运行它。这可以正常工作,我可以进入而无需更改查询字符串。
我在两个文件夹之间运行了一个差异,在lightwitch DLL的引用中指定的版本号周围的csproj文件有几个不同,我调整了这些,所以版本号被指定但是有没有变化。
我在第三台机器上试过这个,并且得到了同样的效果。
我在尝试加载机器时运行Fiddler,在这里我确实看到了不同之处。在GetAuthenticationInfo请求中,工作原始代码返回TestUser以及根据项目属性对话框设置的权限。在从TFS中提取的代码中,用户和权限为零。这似乎是应用程序未正确登录的原因。
我看不出原因,有人能给我任何指示吗?
从原始机器复制的代码
@GetAuthenticationInfoResponsehttp://tempuri.org/@GetAuthenticationInfoResult aDomainServices i)http://www.w3.org/2001/XMLSchema-instance^
TotalCount��^IncludedResults b9http://schemas.microsoft.com/2003/10/Serialization/Arrays_anyType.type�c:User cehttp://schemas.datacontract.org/2004/07/Microsoft.LightSwitch.Security.ServerGenerated.Implementation
FullName 测试用户Name�TestUser
Permissions_string !LightSwitchApplication:IsAccounts_string LightSwitchApplication:IsOffice_string !LightSwitchApplication:IsEngineer_string LightSwitchApplication:IsManager_string 5Microsoft.LightSwitch.Security:SecurityAdministration Roles.nil�^
RootResults behttp://schemas.datacontract.org/2004/07/Microsoft.LightSwitch.Security.ServerGenerated.Implementation_AuthenticationInfo_AuthenticationType�Forms_UserName�TestUser
来自TFS的代码
@GetAuthenticationInfoResponsehttp://tempuri.org/@GetAuthenticationInfoResult aDomainServices i)http://www.w3.org/2001/XMLSchema-instance^
TotalCount��^IncludedResults b9http://schemas.microsoft.com/2003/10/Serialization/Arrays_anyType.type�c:User cehttp://schemas.datacontract.org/2004/07/Microsoft.LightSwitch.Security.ServerGenerated.Implementation
{FullName.nil {1}}
Permissions.nil Name
答案 0 :(得分:0)
在过去的几周里,在用于Lightswitch的MSDN论坛上出现了类似这样的问题。用户发现在他们的情况下,他们没有将所有必需的文件和内部数据加载到TFS中。请注意,Lightswitch具有您需要添加到源控制系统的数据文件和配置文件。
答案 1 :(得分:0)
看起来这是LightSwitch没有复制从Visual Studio启动所需文件的错误。
解决方法是复制:“C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ LightSwitch \ Server \ Manifests \ Microsoft.LightSwitch.Design.Server.Manifest.dll”to“{Project} \ BIN \调试\网络\舱单\ Microsoft.LightSwitch.Design.Server.Manifest.dll”。