标签: csc

您如何使用 GAC 的程序集作为 csc.exe 的引用?

我正在从 csc.exe 编译(好吧,CruiseControl 是...),我需要在 GAC 中引用一个 DLL。我没有作为简单文件的这个 DLL 的正确版本,但是 GAC 中有一个正确的版本。

但是,您不能使用 csc 引用 GAC 中的程序集——您必须拥有实际文件的路径。

我发现一些参考资料声称您可以对实际文件的路径进行逆向工程,但我无法让它们工作。我启动了 Fusion 日志记录,我可以看到运行时从哪里获取文件,但是在我的参考中使用指向该位置的文件路径不起作用。

那么,您如何向 csc 提供对仅存在于 GAC 中的程序集版本的引用?

c# reference csc

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

csc.exe和相互依赖的程序集

我一直在研究一个项目,随着它的成长,我意识到两个不能连接在一起的部分是相互依赖的.

我们将这两个部分称为a.exe和b.dll.b.dll提供了一个允许a.exe检索数据的实现,但我希望它是自己的独立程序集,以便可以轻松更改它以使a.exe与不同的数据源通信.

但是,虽然需要a.exe来引用b.dll,但b.dll需要多个函数,这些函数是a.exe不可分割的一部分.

因为我一直在编译 - 测试 - 因为我一直在编写这个项目,a.exe和b.dll都存在,我可以针对a.exe编译b.dll而针对b.dll编译a.exe ,但我怎么能/可以从源头重建这两个?

.net c# csc

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

如何在通过命令行编译c#代码时使用引用

谁能帮助我通过命令行编译一些c#文件?我有4个要编译的文件,Main,Form1(使用2.cs文件)和项目中使用的另一个类.

我想在命令行中编译这个项目,所以我可以添加/ t:库开关(就像在本教程中一样:http://dotnetslackers.com/articles/csharp/WritingAnActiveXControlInCSharp.aspx).

但是在使用"csc/t:library Program1.cs MainForm.cs MainForm.Designer.cs EigenObjectRecognizer.cs"后,我得到了以下缺少的程序集引用错误:

\Project\FaceRecProOVaspVer\FaceRecProOV\MainForm.cs(14,15): error CS0234: The type or namespace name 'Structure' does not exist
    in the namespace 'Emgu.CV' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)

我确实安装了EMGU二进制文件.我想我需要使用像EMGU.CV.dll这样的文件夹中的一些.dll?

.net c# compiler-construction command-line csc

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

资源标识符xxxxxxxx已在此程序集中使用

使用Visual Studio 2010.Net Framework 3.0编译工作流会导致此CSC错误:

“此程序集中已经使用了资源标识符xxxxxxxx”

其中xxxxxxxx是我的项目中的工作流类型。

我正在使用Workflow Foundation3。Tom,谢谢您的帮助

.net workflow workflow-foundation csc c#-3.0

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

"Csc.exe"无法运行.访问被拒绝(MSB6003)

我刚下载并安装了Xamarin并选择了ASP.NET MVC模板.我没有触及任何东西.当我构建解决方案时,我收到以下错误:

无法添加包."无法运行指定的任务可执行文件"Csc.exe".访问被拒绝(MSB6003)".

这是在Package Console上显示的消息的末尾:

添加了文件'packages.config'.在UI线程中调度方法调用时抛出异常.

我正在运行Windows 8.1和Visual Studio Community 2015.

有任何想法吗?

asp.net-mvc packages access-denied csc

5
推荐指数
0
解决办法
1678
查看次数

什么是cvtres.exe?

当我使用aspnet_compiler.exe预编译我的网站时,我看到了一个cvtres.exe进程csc.exe.我假设这是.NET编译过程的一部分,并且在编译我的.NET程序集时也会显示.是什么cvtres.exe以及它做了什么?

.net c# csc

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

如何让csc.exe知道C#6

我正在编译一个基本的控制台应用程序:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:exe /out:myapp.exe Program.cs
Run Code Online (Sandbox Code Playgroud)

首先打印:

Microsoft (R) Visual C# Compiler version 4.6.1038.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.
Run Code Online (Sandbox Code Playgroud)

然后失败,因为我正在使用字符串插值$"{x}".错误是:

error CS1056: Unexpected character '$'
Run Code Online (Sandbox Code Playgroud)

我认为这是因为csc.exe不明白C# 6.如何识别此编译器C# 6

c# csc roslyn c#-6.0

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

动态编译的文件在.NET中使用csc.exe吗?

标题问了一切,

动态编译的文件,如.cshtml文件,在.NET中使用csc.exe吗?

我看到了这个问题C#JIT编译和.NET

但是在Jit'ed之前它还没有完全进入动态文件的编译.

所以你有这个网站https://msdn.microsoft.com/en-us/library/ms366723.aspx.哪个说:

默认情况下,当用户首次从Web站点请求资源(如ASP.NET页面(.aspx文件))时,动态编译ASP.NET Web页面和代码文件.在第一次编译页面和代码文件之后,编译的资源被缓存,以便对同一页面的后续请求非常有效.

我是否理解csc.exe在被JIT进行之前首次请求新资源?

.net asp.net jit csc

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

如何更改 ac# 控制台应用程序的入口点?

我想知道是否可以将 .NET 控制台应用程序入口点从以下示例中的方法更改Main为:Main2

class Program
{ 
    static void Main(string[] args)
    {
        Console.WriteLine("Main");
    }

    //desired entry point
    static void Main2(string[] args)
    {
        Console.WriteLine("Main2");
    }
}
Run Code Online (Sandbox Code Playgroud)

我调查了这两个的 IL 代码。这是Main方法:

  .method private hidebysig static void 
    Main(
      string[] args
    ) cil managed 
  {
    .entrypoint
    .maxstack 8

    // other instructions

  } // end of method Program::Main
Run Code Online (Sandbox Code Playgroud)

以及Main2方法:

.method private hidebysig static void 
    Main2(
      string[] args
    ) cil managed 
  {
    .maxstack 8

    //other instructions
  } // end of method …
Run Code Online (Sandbox Code Playgroud)

.net c# clr cil csc

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

如何告诉 Roslyn C# 编译器使用特定版本的 .NET?

我发现csc.exeRoslyn 附带的二进制文件可以采用-langversion:<string>命令行参数来设置我想要编译的 C# 版本。但是如何选择我希望编译器使用的 .NET 版本?

编译过程适用于我使用一些 .NET SQL Server 功能的简单测试程序,所以我知道编译器以某种方式在我的计算机上使用了 .NET 版本。我的C:\Windows\Microsoft.NET\Framework目录中有多个 .NET 版本,我假设编译器正在使用其中之一。我想明确设置编译器在编译我的程序时使用哪个版本的 .NET。

注意:如果您能详细说明编译器如何首先选择一个版本,那也将不胜感激。

.net csc roslyn

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