我的问题几乎与在MSBuild中创建一个字符串的ItemGroup相同,但是那里提供的解决方案似乎仍然存在现有的分隔符.这是我正在尝试做的简化片段:
<Target Name="Testing">
<ItemGroup>
<Files Include="$(RootDirectory)\*.*"/>
</ItemGroup>
<Message Text="@(Files->'%(Filename)%(Extension) ')"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
我想要的输出是这样的:
file1.cs file2.cs file3.cs
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码段会产生以下输出
file1.cs ;file2.cs ;file3.cs
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
一些搜索返回此结果:哪些进程正在运行托管代码以及哪个版本?
但是,我想知道是否有一种"更好"的方式,然后简单地迭代加载的模块?寻找字符串"mscorwks.dll"似乎有点古怪.通过MSDN上的Process Class读取似乎并没有指出一个明显的解决方案.
做出的假设
谢谢
IDE 中较新版本的 Visual Studio 支持 EditorConfig,这很有用,但是如果我可以从命令行(因此在自动化中)运行它,那将是最好的。
有没有像 Visual Studio IDE 一样支持所有 EditorConfig 设置的独立工具?Microsoft Docs:EditorConfig 的 .NET 编码约定设置
这是我迄今为止发现的:
除了一个独立的工具,有没有办法强制 Visual Studio 运行代码清理“无头”?那可能是我唯一的解决方案。
我在代码中触发SA1623: PropertySummaryDocumentationMustMatchAccessors的多个实例,其中我有一个与此类似的属性:
/// <summary>
/// Gets or Sets the location to check for files.
/// </summary>
[Required]
public string SourceDirectory { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是MSBuild 自定义任务库中使用的代码,相关属性是Microsoft.Build.Framework.RequiredAttribute(如果有任何含义)。
我使用的是StyleCop 4.7.14.0,没有对默认规则进行任何修改。快速搜索 StackOverflow、Google 以及项目的 Open Issue 日志和文档,没有发现任何提及此怪癖的情况,我是否做错了什么,这是一个错误吗?
谢谢。
我有一个SAS 令牌,格式如下:
https://name.blob.core.windows.net/container?sv=2015-04-05&sr=b&sig=abc123&se=2017-03-07T12%3A58%3A52Z&sp=rw
我正在尝试使用Az
Powershell 中提供的 Cmdlet 将内容上传到此 blob。我无法找到仅需要上述 SAS 令牌和要上传的文件的 API。
读了这篇reddit 帖子,我的选择似乎是:
StorageAccountName
(在示例中name
)、Container
(在示例中container
) 和SASToken
(在上例中sv=2015-04-05&sr=b&sig=abc123&se=2017-03-07T12%3A58%3A52Z&sp=rw
),然后使用New-AzStorageContext
/ Set-AzStorageBlobContent
。这或多或少是此 StackOverflow 帖子中的答案(仅使用 SAS 令牌连接到 Azure 存储帐户?)Invoke-WebRequest
或其同类基本上自己执行 REST 调用。我想使用Az
尽可能多的提供的 cmdlet,因此从选项 1 开始,似乎没有 API 可以解析它,我能找到的最接近的是这个 StackOverflow 帖子(使用 SAS 令牌上传 Blob 内容)谈论使用CloudBlockBlob,但是尚不清楚该类是否可以在 PowerShell 中使用。
为此,我创建了一个似乎有效的正则表达式,但很可能很脆弱,有更好的方法吗?
$SASUri = https://name.blob.core.windows.net/container?sv=2015-04-05&sr=b&sig=abc123&se=2017-03-07T12%3A58%3A52Z&sp=rw
$fileToUpload = 'Test.json'
$regex = [System.Text.RegularExpressions.Regex]::Match($SASUri, …
Run Code Online (Sandbox Code Playgroud) NuGet显然具有确定使用什么MSBuild可执行文件的逻辑。有没有办法覆盖这种行为?或者至少是一种告诉它使用x86 MSBuild而不是x64的方法?
MSBuild自动检测:使用来自'C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ amd64'的msbuild版本'14 .0'。
c# ×3
msbuild ×2
azure-sas ×1
code-cleanup ×1
editorconfig ×1
itemgroup ×1
nuget ×1
powershell ×1
process ×1
stylecop ×1
transform ×1