我正在开发Azure Service Fabric Reliable Actor实现.任何想法/链接在哪里可以存储配置值(例如数据库连接字符串)以及如何在代码中访问它.
我需要实现线性图.Windows 10 UWP是否有任何图表控件?有什么建议?
谢谢
在早期版本(Roslyn CTP)中,我使用以下代码来格式化我生成的代码,它工作得很好:
SyntaxNode.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot()
Run Code Online (Sandbox Code Playgroud)
使用新的Roslyn版本它不再具有,那么新版本(SDK预览版)中上述代码的等价物是什么?
我正在使用Roslyn库.我想在匹配行后添加语句:这是要求.首先,我想找到以下行:
_container.RegisterInstance(NavigationService);
Run Code Online (Sandbox Code Playgroud)
然后我想在上面的行之后添加以下语句:
_container.RegisterInstance<ISessionStateService>(SessionStateService);
_container.RegisterInstance<IFlyoutService>(FlyoutService);
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
编辑:(我已经创建了表达式,但现在如何将这两个表达添加到我的targetExpression?
string strContent = File.ReadAllText(strPath);
SyntaxTree tree = SyntaxTree.ParseText(strContent);
var targetExpression = tree.GetRoot().DescendantNodes().OfType<InvocationExpressionSyntax>()
.FirstOrDefault(
x => x.Expression.ToString().Contains("_container.RegisterInstance") && x.ArgumentList.ToString().Contains("NavigationService"));
InvocationExpressionSyntax replacementNode1 =
Syntax.InvocationExpression(Syntax.ParseExpression(@"_container.RegisterInstance<ISessionStateService>(SessionStateService);"));
InvocationExpressionSyntax replacementNode2 =
Syntax.InvocationExpression(Syntax.ParseExpression(@"_container.RegisterInstance<IFlyoutService>(FlyoutService);"));
MethodDeclarationSyntax targetMethod = (MethodDeclarationSyntax)targetExpression.Parent.Parent.Parent;
List<InvocationExpressionSyntax> list = targetMethod.DescendantNodes().OfType<InvocationExpressionSyntax>().ToList();
int index = list.IndexOf(targetExpression);
list.Insert(index + 1, replacementNode1);
list.Insert(index + 1, replacementNode2);
Run Code Online (Sandbox Code Playgroud)
现在问题是如何获取我更新的树?意味着如何更新我的列表并使用这些更改获取树.
编辑:现在我能够生成添加节点,但只有问题是格式化..间距不正确.这是代码:
string strContent = File.ReadAllText(strPath);
SyntaxTree tree = SyntaxTree.ParseText(strContent);
ExpressionStatementSyntax expressionStatementSyntax =
Syntax.ExpressionStatement(Syntax.ParseExpression("_container.RegisterInstance(NavigationService);"));
var targetBlock =
tree.GetRoot()
.DescendantNodes()
.OfType<BlockSyntax>()
.FirstOrDefault(x => x.Statements.Any(y => y.ToString().Contains("_container.RegisterInstance")));
StatementSyntax syn1 …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码在我的 Web 应用程序上测试系统托管标识,当我在 Azure 中部署时它可以正常工作,但有没有办法在本地进行测试(不向我的 Azure 帐户授予该资源的权限?)?
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
var secret = await keyVaultClient.GetSecretAsync("https://EASDemo.vault.azure.net/secrets/test")
.ConfigureAwait(false);
return new string[] { secret.Value };
Run Code Online (Sandbox Code Playgroud) 在Roslyn中是否有任何函数,通过它我可以将我的字符串解析为MethodDeclarationSyntax?
我有一个包含方法声明的文件,所以我正在将该文件内容读取为字符串,现在我想从该字符串创建一个Method.有什么建议?
我需要将字符串转换为XmlNode并将其添加到现有的Xaml文件中.
我的Xml字符串包含特殊字符.
这是我的Xml字符串(来自T4模板),其中包含""作为属性值.
<Button Margin="10,0,0,0" Width="100" Height="100" HorizontalContentAlignment="Center"
Background="{StaticResource TopAppbarTileBackground}"
x:Name="chanceAppBarButton">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock ***Text=""*** VerticalAlignment="Top" HorizontalAlignment="Center"
TextAlignment="Center" Style="{StaticResource TopAppbarIconStyle}"/>
<TextBlock Grid.Row="1" Style="{StaticResource TopAppbarTileTextStyle}" x:Uid="chanceAppBarButtonLabel"
VerticalAlignment="Top" Margin="0" HorizontalAlignment="Center"
TextAlignment="Center"/>
</Grid></Button>
Run Code Online (Sandbox Code Playgroud)
下面是将Xml String转换为Node并将其附加到现有文件的代码(部分).
var xmldoc = new XmlDocument();
xmldoc.Load(filePath);
XmlElement rootElement = xmldoc.DocumentElement;
XmlNode xmlNode = CreateNodeFromXmlString(xmlNodeString, namespaceList);
XmlNode importNode = rootElement.OwnerDocument.ImportNode(xmlNode, true);
rootElement.AppendChild(importNode); // Add Xml node to Parent Element
xmldoc.Save(filePath); // Save Xml file
private static XmlNode CreateNodeFromXmlString(string xml, Dictionary<string, string> namespaceList)
{ …Run Code Online (Sandbox Code Playgroud)