小编fer*_*olo的帖子

即使加载了PDB,Visual Studio 2012也拒绝显示源代码

我正在尝试调试发布Web服务的Azure应用程序,而Visual Studio 2012拒绝显示源代码,即使加载了PDB也是如此.这是我的设置:

在DEBUG>选项和设置...>调试>常规:

  • []启用我的代码
  • []启用.NET Framework源步进
  • [x]启用源服务器支持
  • []要求源文件与原始版本完全匹配

在DEBUG>选项和设置...>调试>符号:

解决方案属性>调试源文件:

  • C:\路径\为\我\ CSfiles \
  • c:\ Program Files(x86)\ Microsoft Visual Studio 11.0\VC\crt\src \
  • 等等

重现步骤:

  1. 将Azure应用程序部署到Development Fabric(计算仿真器).
  2. 以管理员身份打开VS2012.
  3. 附加到WaWorkerHost.exe,等待符号加载并验证MyModule.dll是否加载了符号.
  4. [optional] Choose Solution Properties... > Debug Source Files and add c:\path\to\my\CSfiles\ as first entry.
  5. Choose DEBUG > New Breakpoint > Break At Function...
  6. Function: MyClass.MyMethod. Language: C#.
  7. VS2012 complains it was unable to find, but it adds the breakpoint.
  8. Make the …

c# visual-studio visual-studio-debugging pdb-files visual-studio-2012

5
推荐指数
1
解决办法
3074
查看次数

git checkout:"他们的"和"我们的"的详细含义

git的结帐文档说:

--ours --theirs 当从索引检查出路径,检查阶段#2(我们)或#3(他们的)用于未合并的路径.

在合并,rebase和cherry-pick期间,"阶段#2"和"阶段#3"的含义是什么?有没有办法在运行命令之前查询这些"阶段"以确保它将检索正确的版本?

git version-control merge branching-and-merging git-branch

5
推荐指数
1
解决办法
231
查看次数

Azure CLI:从用户名或电子邮件地址获取对象 ID

我正在尝试使用 Azure CLI 自动检测当前用户的 oid,以便对我的应用程序数据执行查询。如果我使用命令account show,我会得到:

azure account show
info:    Executing command account show
data:    Name                        : Visual Studio Enterprise
data:    ID                          : 12345678-1234-1234-1234-123456789012
data:    State                       : Enabled
data:    Tenant ID                   : abcdef12-abcd-1234-abcd-1234abcd1234
data:    Is Default                  : true
data:    Environment                 : AzureCloud
data:    Has Certificate             : No
data:    Has Access Token            : Yes
data:    User name                   : peter.parker@outlook.com
data:
info:    account show command OK
Run Code Online (Sandbox Code Playgroud)

看着peter.parker@outlook.com。现在,如果我使用该命令ad user list,我会得到以下结果:

azure ad user list
info:    Executing command …
Run Code Online (Sandbox Code Playgroud)

active-directory azure azure-active-directory azure-xplat-cli

5
推荐指数
1
解决办法
2万
查看次数

Visual Studio for C#是否具有这些Eclipse for Java功能?

到目前为止,我用Java开发.Java是多平台的(现在可以在Android上运行!),具有非常强大的虚拟机,并且是开放的,表现良好的等等.但是它也很老,似乎在语言功能方面按时停止.Scala和Gosu是很好的替代品,但我不喜欢Scala语法,Gosu非常不成熟,不像Scala赢得.所有这些让我想到了至少为Web开发转移到C#!唷!

对我来说非常重要的一件事是IDE支持.现在我使用Eclipse for Java,我最喜欢的功能是这些(最重要的是首先,有点):

  • 完整代码导航(调用层次结构,显示变量读写,继承成员).
  • 增量编译(意味着快速编译).
  • 在编译之前检测到多种错误并加下划线.
  • 许多智能快速修复(可以为您修复/编写许多代码并快速重命名元素和重构引用).
  • 智能和可配置的代码完成.即使对于未经插入的包/类,也会显示提示.
  • 超过15种重构,所有这些都非常有用.
  • 超过15个源代码生成选项(添加未实现的方法,生成getter和setter,生成委托).
  • 可配置的代码格式化程序,即使是代码片段(选择代码然后格式化).
  • 调试器支持热代码替换和"Drop to Frame",因此我可以在没有完整程序启动的情况下返回检查其他内容.
  • 代码清理(删除不必要的括号,删除不必要的"this"引用等).
  • 非常体面,自主和无缝的CVS集成,集成文件比较和计算机辅助合并.
  • 非常好用于Web开发的工具(服务器部署,带格式化程序的JavaScript和HTML编辑器).
  • 大量的插件(代码覆盖分析器,内存转储分析器,eGIT).

Visual Studio for C#/ ASP.NET中有哪些功能可用?如果我可以通过添加廉价插件来获得一些,请告诉我.

c# java eclipse visual-studio

4
推荐指数
1
解决办法
910
查看次数

使用二进制编码将byte []转换为String

我想将每个byte从a byte[]转换为a char,然后将这些chars放在String上.这是一些数据库的所谓"二进制"编码.到目前为止,我能找到的最好的是这个巨大的样板:

byte[] bytes = ...;
char[] chars = new char[bytes.length];
for (int i = 0; i < bytes.length; ++i) {
    chars[i] = (char) (bytes[i] & 0xFF);
}
String s = new String(chars);
Run Code Online (Sandbox Code Playgroud)

是否还有来自Java SE或Apache Commons的其他选项?我希望我能有这样的事情:

final Charset BINARY_CS = Charset.forName("BINARY");
String s = new String(bytes, BINARY_CS);
Run Code Online (Sandbox Code Playgroud)

但我不愿意写一个Charset和他们的编解码器(还).在JRE或Apache Commons中是否有这样的二进制Charset?

java string character-encoding

4
推荐指数
1
解决办法
1万
查看次数

在没有新的 IServiceProvider 实例的情况下指定自定义 IModelBinderProvider?

我的类中有以下代码Startup,它使用IModelBinderProvider. 大多数输入格式化程序需要一个ILogger实例,所以我需要有一个ILoggerFactory,为此我想使用配置的一个,它以指定的详细程度记录到指定的目的地。我正在ILoggerFactory从一个新建的IServiceProvider

    public void ConfigureServices(IServiceCollection services)
    {
        ...
    
        services.AddMvcCore(
            options =>
            {
                ...
            
                var serviceProvider = services.BuildServiceProvider();
                var loggerFactory = serviceProvider.GetService<ILoggerFactory>();

                options.ModelBinderProviders.Clear();
                options.ModelBinderProviders.Add(
                    new MyCustomBinderProvider(options.InputFormatters, loggerFactory)
                );
                
                ...
            }
        );
        
        ...
    }
Run Code Online (Sandbox Code Playgroud)

问题是我收到以下警告:

Startup.cs(62, 43): [ASP0000] Calling 'BuildServiceProvider' from application code results in an
                    additional copy of singleton services being created. Consider alternatives such
                    as dependency injecting services as parameters to 'Configure'.
Run Code Online (Sandbox Code Playgroud)

我看了一下这个问题:Resolving instances with ASP.NET Core …

asp.net-mvc dependency-injection asp.net-core-mvc asp.net-core asp.net-core-3.1

4
推荐指数
1
解决办法
118
查看次数

我可以在Groovy中覆盖强制转换运算符吗?

我需要一些与此类似的东西:

interface Bar { 
    def doSomething()
}

class Foo { // does not implement Bar.

    def doSomethingElse() {
    }

    Bar asBar() { // cast overload
        return new Bar() {
            def doSomething() {
                doSomethingElse()
            }
        }
    }

}

Foo foo = new Foo()
Bar bar = foo as Bar
bar.doSomething()
Run Code Online (Sandbox Code Playgroud)

在Groovy中有这样的东西吗?

groovy casting

3
推荐指数
1
解决办法
1083
查看次数

ASP Web API:获取POST请求的内容类型

我需要解析一个JSON或BSON对象.我在ApiController控制器类中的方法是这样定义的:

[HttpPost]
public object ReceiveObjectAction()
{
    JObject body;
    var contentType = GetContentType(Request);
    if (contentType == "application/json") {
        body = JObject.Parse(Request.Content.ReadAsStringAsync().Result);
    } else if (contentType == "application/bson") {
        using (var reader = new BsonReader(Request.Content.ReadAsStreamAsync().Result))
        {
            body = (JObject)JToken.ReadFrom(reader);
        }
    } else {
        // throw bad request.
    }

    // process body, etc.
}

    public string GetContentType(HttpRequestMessage request) {
        <your answer here>
    }        
Run Code Online (Sandbox Code Playgroud)

问题:如何实施该GetContentType(HttpRequestMessage request)方法?

.net asp.net asp.net-mvc json web-services

3
推荐指数
1
解决办法
1516
查看次数

Scala中的动态属性

Scala是否支持动态属性?例:

val dog = new Dynamic // Dynamic does not define 'name' nor 'speak'.
dog.name = "Rex" // New property.
dog.speak = { "woof" } // New method.

val cat = new Dynamic
cat.name = "Fluffy"
cat.speak = { "meow" }

val rock = new Dynamic
rock.name = "Topaz"
// rock doesn't speak.

def test(val animal: Any) = {
   animal.name + " is telling " + animal.speak()
}

test(dog) // "Rex is telling woof"
test(cat) // "Fluffy is telling meow" …
Run Code Online (Sandbox Code Playgroud)

reflection scala dynamic

2
推荐指数
1
解决办法
3401
查看次数

Visual Studio如何在未通知csproj时确定输出路径?

我正在尝试从另一个解决方案引用一个C#DLL项目,但构建是在一个非常奇怪的输出文件夹中生成DLL.

目录内容是这样的:

c:\a\b\c\src\Solution.sln
c:\a\x\y\z\MyDLL\MyDLL.csproj
Run Code Online (Sandbox Code Playgroud)

MyDLL.csproj不具有<OutputPath>标记.但它有一个我经常看不到的<SolutionDir>标签.

计算的输出路径,如Properties视图中所示,恰好是:

..\..\..\..\b\c\src-z\MyDLL\objd\i386
Run Code Online (Sandbox Code Playgroud)

这对应于此路径:

c:\a\b\c\src-z\src\MyDLL\objd\i386
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为我不知道配置src-z的任何东西.我想知道Visual Studio是否正在计算带连字符的路径?

我想解决这个问题,可能会改变<SolutionDir>,但我不想打破其他解决方案.

计算似乎在构建过程的早期发生,因为构建器记录的第一件事是:

1>Project 'MyDLL (x\y\z\MyDLL\MyDLL.csproj)' is not up to date.
  Input file 'x\y\z\MyDLL\MyDLL.csproj' is modified after output
  file 'c:\a\b\c\src-z\src\MyDLL\objd\i386\MyDLL.pdb'.
Run Code Online (Sandbox Code Playgroud)

那么,当找不到项目<OutputPath>标签时,VS使用什么算法来计算输出路径?

c# msbuild csproj visual-studio visual-studio-2012

1
推荐指数
1
解决办法
5471
查看次数

如何从小型转储中获取环境变量?

我得到了一个用procdump -ma. 我可以在 VS2013 和 WinDbg 上打开它,但是我需要知道哪些环境变量被发送到该进程。有没有一种方法可以在不编写内存解析器的情况下做到这一点?

.net windows crash-dumps visual-studio visual-studio-2013

1
推荐指数
1
解决办法
2630
查看次数