我正在使用 Roslyn 编译一个项目,代码类似于:
var workspace = MSBuildWorkspace.Create();
var project = await workspace.OpenProjectAsync("SomeProject.csproj");
var compilation = await project.GetCompilationAsync();
Run Code Online (Sandbox Code Playgroud)
我需要设置一个编译符号(例如DEBUG
or TRACE
,但在我的情况下是完全自定义的)。如何使用 API 执行此操作?
我看到它project
有一个CompilationOptions
属性,但我没有看到任何相关的内容。
编辑感谢@JoshVarty,他指出在编译之前添加这样的代码:
project = project
.WithParseOptions(((CSharpParseOptions)project.ParseOptions)
.WithPreprocessorSymbols("SOME_SYMBOL"));
Run Code Online (Sandbox Code Playgroud) 我克隆了一个git repo,发现状态行Filtering content
非常慢。通常不会出现。它是什么?
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 16592 (delta 6), reused 9 (delta 4), pack-reused 16562
Receiving objects: 100% (16592/16592), 14.14 MiB | 1.01 MiB/s, done.
Resolving deltas: 100% (7529/7529), done.
Checking out files: 100% (11475/11475), done.
Filtering content: 6% (115/1729), 390.32 MiB | 1.12 MiB/s
Run Code Online (Sandbox Code Playgroud) 我正在使用 VS 2019 16.8.3,我想在解决方案 .editorconfig 文件中指定一些代码分析规则 (dotnet_diagnostic.CAXXXX.severity),仅适用于发布版本。
当我在 .editorconfig 文件中添加规则时,调试构建时间会增加几分钟。所有分析器复选框均未在项目属性中选择为“在构建时运行”。
所以我想从代码分析中排除调试构建。是否可以仅为发布版本指定 .editorconfig 文件?
或者是否可以禁用此 .editconfig 进行构建并仅适用于手动代码分析?
我有一个包含很多路径的List.我有一个特定的路径,我想检查此列表,看看是否有任何路径使用此路径,即:
f.StartsWith(r.FILENAME) && f != r.FILENAME
Run Code Online (Sandbox Code Playgroud)
这样做的最快方法是什么?
编辑:完成以下答案的功能:
static bool ContainsFragment(string[] paths, string fragment)
{
// paths **must** be pre-sorted via Array.Sort(paths);
if (paths.Length == 0) return false;
int index = Array.BinarySearch(paths, fragment);
if (index >= 0 && index+1 < paths.Length)
{ //we found it
if (paths[index + 1].StartsWith(fragment) &&
paths[index + 1].EndsWith(".manifest"))
{
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud) 有什么区别
do Application.Run(form)
Run Code Online (Sandbox Code Playgroud)
而且,简单地说:
Application.Run(form) ?
Run Code Online (Sandbox Code Playgroud)
do
关键字在第一句中的作用是什么?
我正在使用命令行编译器构建SWF mxmlc.exe
.编译器将输出文件大小写为stdout的一部分.如果我连续多次运行编译器而不更改实际的源代码,我会看到文件大小一次上下跳动几个字节.
C:\>mxmlc.exe Gallery.as
C:\Gallery.swf (28443 bytes)
C:\>mxmlc.exe Gallery.as
C:\Gallery.swf (28442 bytes)
C:\>mxmlc.exe Gallery.as
C:\Gallery.swf (28440 bytes)
C:\>mxmlc.exe Gallery.as
C:\Gallery.swf (28442 bytes)
Run Code Online (Sandbox Code Playgroud)
我想不出为什么会出现这种情况.即使我每次都删除输出文件,重新生成的文件大小仍然以这种方式变化.
有什么想法吗?
在阅读了最新一期MSDN杂志上的一篇文章后,我想尝试使用VADump来分解我编写的一些应用程序的内存使用情况.
我电脑上唯一的可执行文件副本位于:
c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\winnt\vadump.exe
无论我给VADump提供什么参数组合,它都会返回错误:
OpenProcess Failed c0000034
谷歌搜索出现了一些其他人有同样问题,但这些帖子都没有我能找到的解决方案(甚至回复!).
本机运行的是安装了VS2005和VS2008的WinXP SP2.
VADump看起来是一个非常有用的工具,我真的很想尝试一下.希望这可以在办公室中的另一台PC上运行,但我仍然想让它在我的工作上运行.
有任何想法吗?
我刚开始深入研究C#和WPF设计,所以不介意我要求一些基础知识.
我正在尝试将我们的一个互联网应用程序移植到ac#应用程序并遇到一些困难.
我需要4个复选框,看起来像这样.如果单击它们,它们应该看起来像第二个.
http://frauneder.com/checkbox_example.jpg
我能够通过点击改变的图像来做到这一点,但在那里我想念缺血的财产.
第二个问题:我想使用键盘上的1-4键选中/取消选中复选框.我该怎么做呢?
Thanx非常提前!
当你有一个名为与类型相同的局部变量时,有没有办法告诉编译器你给出的符号是一个类型还是一个变量?例如考虑(并忽略所有类型的返回错误):
public class sometype { public static sometype DoSomething() {} }
public string sometype { get { return sometype.DoSomething(); } } //A
public string sometype { get { return sometype.Trim(); } } //B
public sometype sometype { get { return sometype.DoSomething(); } } //C
public sometype sometype { get { return sometype.Trim(); } } //D
Run Code Online (Sandbox Code Playgroud)
(如果XSD让你烦恼,你可能想跳过这个):
我目前正在努力让LINQ到XSD工作.在我的XSD文件中有xs:这样的元素:
<xs:element name="car" type="car">
Run Code Online (Sandbox Code Playgroud)
'car'类型被定义为这样的simpleType
(可能还有一些限制,但这本质上是它):
<xs:simpleType name="car">
<xs:restriction base="xs:string" /> …
Run Code Online (Sandbox Code Playgroud) 我正在显示异步加载数据的图表,因为搜索是获取数据的工作非常繁重.数据必须以XML格式返回,以使图表库满意.
我的ActionMethods返回一个ContentResult,其类型设置为text/xml.我使用Linq to XML构建我的Xml并调用ToString.这很好但是测试并不理想.
我有另一个想法来实现这一点,即返回一个使用XSLT View引擎构建我的XML的视图.
我很好奇,我总是试图以"正确的方式"做事.那你们怎么处理这样的场景呢?
您是否实现了不同的ViewEngine(如xslt)来构建XML,或者在控制器内部构建XML(或者为控制器提供服务)?
编辑:
由于我需要将数据传递给图表库,我必须遵循他们的xml结构.他们的符号不是我想要建立我的模型类的方式.这就是为什么我自己使用Linq to XML构建XML并想知道模板是否会更好.
简单的序列化不是我想要的
.net ×4
c# ×4
apache-flex ×1
arrays ×1
asp.net-mvc ×1
checkbox ×1
editorconfig ×1
f# ×1
filesize ×1
git ×1
git-clone ×1
git-lfs ×1
linq-to-xsd ×1
memory ×1
msbuild ×1
profiling ×1
roslyn ×1
string ×1
wpf ×1
xml ×1