当我写这个问题时,这些是最新的XCode和OS X版本,刚刚更新了昨天.
我无法相信唯一的iOS版本是7.1我可以使用模拟器测试我的应用程序......或者Apple假设所有移动设备所有者都拥有这个最新的iOS,而我作为针对这些用户的开发者应该分享这个疯狂的想法?
我必须错过一些东西,请指出.
差点忘了:主页按钮在哪里?见附图.

请注意我不是在谈论"在解决方案资源管理器中跟踪活动项目".我喜欢这样,所以当我切换编辑器窗口时,解决方案资源管理器会自动跟踪,并在其树中选择了该项目.这很酷.
相反,我问的是反向自动化:当我在解决方案资源管理器中选择一个项目时(不是双击,只需选择),它会在编辑器窗格中使用一个最正确的选项卡在编辑器中打开并激活.(通常的文件从左侧标签堆叠).
如何防止在VS 2015中自动打开?
上下文
我有一个Microsoft帐户,我有一个和Azure订阅它.我有访问权限(作为用户:所有者添加)到其他Microsoft帐户的其他订阅.
一切正常,当我使用我的唯一凭证登录到Azure门户时,我可以看到右上方菜单中列出的目录(租户?),所以我可以切换.切换到目录后,我可以看到该目录的订阅.
我想在PowerShell中使用此凭据.到目前为止,我成功地使用了Select-AzureRmSubscription,有趣的是我经历过,我可以省略-TenanttId参数,即使订阅是在其他租户下作为我的默认目录.(我想Select-AzureRmSubscription会迭代所有租户的所有订阅,以找到我在-SubscrptionId参数中提供的guid.(或者这只是一个"bug"?).无论如何,现在我已经切换到另一台客户端计算机,并且新近安装了AzureRM PowerShell模块,同样的Select-AzureRmSubscription在那里不起作用.所以我认为这个"bug"是"修复"的,现在我也必须使用-TenantId参数.但是我仍然有错误.
注意:所有工作都来自我的旧开发人员机器:我可以通过使用Select-AzureRmSubscription(甚至不使用-TenantId参数)在不同租户的订阅之间切换
我尝试过的:
$subscriptionId = "42940206-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$tenantId = "ce8a477c-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Login-AzureRmAccount
Select-AzureRmSubscription -SubscriptionId $subscriptionId -TenantId $tenanId
Run Code Online (Sandbox Code Playgroud)
我有以下错误消息:
Set-AzureRmContext:无法验证参数'SubscriptionId'的参数.参数"42940206-xxxx-xxxx-xxxx-xxxxxxxxxxxx"不属于ValidateSet属性指定的"0692a8b8-xxxx-xxxx-xxxx-xxxxxxxxxxxx"集.提供集合中的参数,然后再次尝试该命令.
什么是这个0692a8b8-xxxx-xxxx-xxxx-xxxxxxxxxxxx"由ValidateSet属性指定.它既不是我的订阅ID,也不是我的tenantIds ......
两台客户机之间的差异
工作:Poweshell 5,大约半年历史的AzureRM模块,由PowerShellGet的安装模块安装
不工作:Poweshell 4,最新的AzureRM模块,由PowerShellGet的安装模块安装
下一步的重要步骤是在新机器上安装PowerShell 5,但它是一台生产机器,很多都是稳定的,并且日复一日地运行PowerShell脚本,所以我不想冒破坏生产过程的风险......
语境
我想检查当使用单个参数调用我的替代方法时,某些参数属性值是否是预期的。
最简单的方法是拥有作为参数的实例,然后根据预期检查其某些属性。
我已经检查了页面http://nsubstitute.github.io/help/received-calls/,但我既找不到如何获取实际参数,也找不到这样的检查条件。
问题
var sut = new MyObject(myNSubstitue)
sut.Execute()
// Let suppose mySubstitute has an OperationX(MyClass parameter) method
// Now I would like to check OperationX was called, and called with
// a parameter which's parameter.MyPropery == "Hello"
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
上下文
在我的所有项目(包括一个新创建的项目)中,我可以在我的XAML中输入拼写错误,然后编译没有错误,没有警告.当然运行时会抛出异常.
题
这是正常的还是我的Visual Studio 2017.3出了问题?
语境
有时我想在标准 VS 2017 .NET Framework C# 项目 (.csproj) 中构建/重新编译所有 TypeScript 文件,而不构建 dll 等。即使是控制台命令行解决方案,我也会很高兴。
到目前为止我所做的:
我可以使用 MSBuild 来编译所有内容:c:\>msbuild.exe my.csproj. 我什至发现已安装的 nuget 包Microsoft.TypeScript.MSBuild.2.7.2包含在我的 .csproj 中,并且定义了 CompileTypeScript 目标,但不幸的是c:\>msbuild.exe my.csproj -t:CompileTypeScript返回 0 个错误、0 个警告并且什么也不做。(据说在错误的位置查找 ts 文件,但没有找到)注意:引用不存在的目标会给出一条信息性错误消息,因此肯定会找到目标。
问题
无论 MSBuild 的想法如何,我都想编译 .csproj 项目中的所有 TypeScript 文件,并使用其中定义的相同 TypeScript 编译器设置。我怎样才能完成这个任务?
设想
我想检查一个组件(sut)是否在特定条件下记录错误。注入组件的ILogger接口构造函数,Error方法有4个重载。
所以我在Arrange 中创建了一个ILogger 模拟并在Act 中使用它。
我不应该期望 sut 正在使用哪个重载,只是想期望并检查是否调用了任何重载。(这将非常白盒,并且期望远远超过功能规范。)
题
目前我的结论是我不能使用,.Received而是我必须为所有 4 个重载安装回调,并在其中设置一个变量,并在 Assert 部分检查该变量。
有什么简单的方法可以做到这一点我错过了吗?
(例子)
[TestMethod]
public void ShouldLogErrorIfEmailIsInvalid2()
{
// Arrange
var testEmailAddress = "dummy";
//var mock = new Mock<IEMailValidator>();
var validator = Substitute.For<IEMailValidator>();
validator.Validate(Arg.Any<string>()).Returns(false);
var logger = Substitute.For<ILogger>();
var sut = new CustomerController(validator, logger);
var customer = new Customer() { Email = testEmailAddress };
// Act
sut.Post(customer);
// Assert
// *** Here I do not want to expect a specific overload of Error, instead …Run Code Online (Sandbox Code Playgroud) 我已经改变了我的 _Layout.cshtml 文件中的纯常用 body 元素
<body data-my-attibute='myattributevalue'>
Run Code Online (Sandbox Code Playgroud)
到
<body @myAttributes>
Run Code Online (Sandbox Code Playgroud)
并收到错误消息:
严重性代码描述项目文件行抑制状态错误 RZ1031 标签助手“body”在元素的属性声明区域中不得包含 C#。
body 元素的外观和行为不像标签助手 简而言之:帮助,这是星期五下午我背上的一把刀......
上下文
经过几个小时的无聊工作,我刚刚将我的所有PCL项目迁移到Xamarin.Forms解决方案中的.NET标准.(为什么?因为当时看起来好主意)
无论如何,我取得了成功.
下一步我决定添加Xamarin Insights,我被引导到https://mobile.azure.com/,我指示使用Microsoft.Azure.Mobile.Analytics和Microsoft.Azure.Mobile.Crashes包.
但是在安装任何软件包时出现此错误:
Package Microsoft.Azure.Mobile.Analytics 0.15.0 is not compatible with netstandard1.4 (.NETStandard,Version=v1.4). Package
Microsoft.Azure.Mobile.Analytics 0.15.0 supports:
- monoandroid403 (MonoAndroid,Version=v4.0.3)
- portable-net45+win8+wp8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile259)
- uap10.0 (UAP,Version=v10.0)
- xamarinios10 (Xamarin.iOS,Version=v1.0)
Run Code Online (Sandbox Code Playgroud)
题
我理解错误.请不要告诉我,我必须将我的所有项目再次迁移回PCL.(并放弃.NET标准).
我有一些记忆,在某处我读到有一个神奇的包,我安装然后它提供了一些技巧,一切都将再次酷.(或者我在做什么?)
语境
我继承了一个大量使用 Tuple<...> 类型的大型遗留代码库。该代码充满了如下行:
myVar = myTuple.Item4;
Run Code Online (Sandbox Code Playgroud)
我想通过引入具有描述性属性名称的自定义类来重构此代码以使其更具可读性。
问题
有什么工具可以有效支持这种重构操作吗?
c# ×3
mocking ×2
nsubstitute ×2
unit-testing ×2
xamarin ×2
asp.net-core ×1
azure ×1
ios ×1
macos ×1
msbuild ×1
nuget ×1
powershell ×1
razor-pages ×1
refactoring ×1
resharper ×1
typescript ×1
xaml ×1
xcode ×1