小编Eva*_*sch的帖子

在smarterasp.net上发布包含csc.exe文件的网站时出现问题?

我使用的是Microsoft Visual Studio 2015,我使用C#联系表单构建了一个简单的网站.当我在localhost上编译和运行时,它运行得非常好.但是,当我尝试发布它(在smarterasp.net上)时,我收到一个错误:

[Win32Exception(0x80004005):访问被拒绝]

[ExternalException(0x80004005):无法执行程序.正在执行的命令是"..\bin\roslyn\csc.exe"

我联系过smarterasp.net,他们说他们不允许.exe文件.我试图从服务器上删除带有ftp的csc.exe,但是当我这样做时,我收到错误:

找不到文件"..\bin\roslyn\csc.exe".

如何使用试图包含在我的项目中的csc.exe解决此问题,以便我可以发布我的这个网站?

c# asp.net visual-studio-2015

47
推荐指数
7
解决办法
3万
查看次数

自定义JsonConverter WriteJson不会改变子属性的序列化

我总觉得JSON序列化程序实际遍历整个对象的树,并在它遇到的每个接口类型对象上执行自定义JsonConverter的WriteJson函数 - 不是这样.

我有以下类和接口:

public interface IAnimal
{
    string Name { get; set; }
    string Speak();
    List<IAnimal> Children { get; set; }
}

public class Cat : IAnimal
{
    public string Name { get; set; }
    public List<IAnimal> Children { get; set; }        

    public Cat()
    {
        Children = new List<IAnimal>();
    }

    public Cat(string name="") : this()
    {
        Name = name;
    }

    public string Speak()
    {
        return "Meow";
    }       
}

 public class Dog : IAnimal
 {
    public string Name { get; …
Run Code Online (Sandbox Code Playgroud)

c# serialization json converter json.net

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

Intellij Idea:如果在两条线上,则为一条线

所以我是Intellij Idea IDE的新手,到目前为止我非常喜欢它.在获取代码样式设置方面遇到一些麻烦,正是我喜欢它们的Java.我喜欢不使用大括号作为一行if语句,但我喜欢他们在两行:

if(true)
    dosomething();
Run Code Online (Sandbox Code Playgroud)

现在,当我在Idea中运行代码格式时,它会向上移动到一行:

if(true) dosomething();
Run Code Online (Sandbox Code Playgroud)

我觉得很难读,但我似乎无法正确设置.任何人都可以帮助我,并告诉我我需要设置什么来保持两行,但仍然没有大括号?感觉很蠢,无法找到它.谢谢!

java ide intellij-idea

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

int []使用"错误"的Console.WriteLine重载

我正在和一位同事一起学习一些基本的C#教程,我们遇到了一个有趣的难题.

以下代码按预期工作:

string[] strings = { "1", "2", "3" };
Console.WriteLine("{0}, {1}, {2}", strings);
Run Code Online (Sandbox Code Playgroud)

它获取字符串数组并使用方法的Console.WriteLine(string format, params object[] arg)重载将字符串"1,2,3"打印到控制台WriteLine.

但是,以下代码不起作用:

int[] ints = { 1, 2, 3 };
Console.WriteLine("{0}, {1}, {2}", ints);
Run Code Online (Sandbox Code Playgroud)

你得到一个FormatException消息Index (zero based) must be greater than or equal to zero and less than the size of the argument list.使用Intellisense我可以看到它正在尝试使用Console.WriteLine(string format, object arg0)重载,这就是为什么我们得到那个消息,它看起来不像ints一个数组,虽然它显然是.

如果我们切换到更明显的:

int[] ints = { 1, 2, 3 };
Console.WriteLine("{0},{1},{2}", ints[0], ints[1], ints[2]); …
Run Code Online (Sandbox Code Playgroud)

c# arrays

9
推荐指数
2
解决办法
122
查看次数

RubyMine终端不工作Win10

我最近在我的Windows 10机器上安装了RubyMine v7.1.4.我加载了一个现有的项目并尝试在RubyMine中打开一个终端窗口.当我第一次打开终端时,它是空白的,几分钟后出现标准提示.但是在提示出现后,我无法在终端中输入任何内容.光标像等待输入一样闪烁,但我无法输入任何内容.

我能够使用正常的命令提示符来运行我需要的命令,但我想让RubyMine中的终端工作.终端的设置似乎是正确的,它指向"cmd.exe".我不确定它是否相关,但我的RubyMine安装在我的C:驱动器上,但代码存储库在我的E:驱动器上.

如果您有任何建议,我们将不胜感激.谢谢!

windows terminal rubymine windows-10

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

Web.Config 中的 Oracle.ManagedDataAccess TNS_ADMIN

我正在尝试配置我的解决方案,该解决方案使用 Oracle.ManagedDataAccess 库在连接字符串中使用 TNS 名称而不是显式数据源。在进行任何更改之前,程序运行正常,但我配置 TNS 设置的所有尝试都失败了。

我在我的计算机上本地有我的 TNS 文件,用于在 C:\oracle\tns\tnsnames.ora 中进行开发。

我已经更新了 web.config 中的连接字符串以使用我的 TNS 文件中的别名:

<connectionStrings>
  <add name="OracleConnectionString"
      connectionString="Data Source=DEV1;Persist Security Info=True;User ID=myUser;Password=myPassword;"
      providerName="System.Data.OracleClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

还添加了 configSection 以及库的配置:

<configuration>
  <configSections>
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
  </configSections>
  ....
  <oracle.manageddataaccess.client>
    <version number="*">
      <settings>
        <setting name="TNS_ADMIN" value="C:\oracle\TNS\tnsnames.ora" />
      </settings>
    </version>
  </oracle.manageddataaccess.client>
</configuration>
Run Code Online (Sandbox Code Playgroud)

当我尝试运行该程序时,虽然出现错误ORA-12154: TNS:could not resolve the connect identifier specified。我不确定我配置不正确,因为它没有提供太多信息。

需要注意的一件事是,该解决方案由一个带有 web.config 的 MVC 项目和一个处理数据库访问的类库组成。对的引用Oracle.ManagedDataAccess在类库中。我曾尝试将 Oracle 配置部分(及其 configSection)放在 web.config、app.config 和两者中,但这些设置都不起作用。

c# oracle oracle-manageddataaccess

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

EFCore Postgres 时间戳丢失刻度精度

我的应用程序遇到问题,该应用程序正在从 JSON API 读取数据,该 API 按以下格式提供 UTC 时间:

2019-09-19T23:46:00.1183275Z

我使用 Entity Framework Core 将这些时间存储在 Postgres 数据库中,并在稍后使用它们以确保我只从 API 获取更新的数据。我遇到的问题是,当这些时间戳写入数据库时​​,我失去了 .NET 的精度,精确到时间戳的刻度。C# 将上述时间戳记为:637045335601183275,但是当我从数据库中读回同一时间时,记号为637045335601183270

我尝试搜索文档,但找不到更改数据库中时间戳精度的方法。有办法吗?如果失败的话,是否有一种一致的方法可以将 舍入DateTime到数据库不会丢失的精度?

例子:

语境

public class MyContext : DbContext
{
    public DbSet<Item> Items { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseNpgsql(@"host=localhost;port=5432;database=TestDb;user id=postgres;password=password");
    }
}
Run Code Online (Sandbox Code Playgroud)

物品

public class Item
{
    public int Id { get; set; }
    public DateTime CreateTime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

程序

class Program
{
    static void …
Run Code Online (Sandbox Code Playgroud)

c# postgresql .net-core ef-core-2.2

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

用于#<PostsController的未定义方法`find_post':0x0000010b791560>

这是我陷入我的代码的地方:

class PostsController < ApplicationController
  before_action :find_post, only: [:show, :edit, :update, :destroy]

  def index
  end

  def show
  end

  def new
    @post = Post.new
  end 

  def create
    @post = Post.new(post_params)

    if @post.save
      redirect_to @post
    else
      render 'new'
    end
  end    

  def edit
  end

  def update
    if @post.update
      redirect_to @post
    else
      render 'edit'
    end
  end

  def destroy
    @post.destroy
    redirect_to root_path
  end

  private

  def post_find
    @post = Post.find(params[:id])
  end

  def post_params
    params.require(:post).permit(:title, :content)
  end

end
Run Code Online (Sandbox Code Playgroud)

我定义了post_find,但是当我运行代码时我仍然收到错误抱歉我发布的帖子中的错误.我希望能够在论坛上发帖并进行编辑或删除帖子.

ruby-on-rails

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

List&lt;string&gt; 到 listbox.Items C#

我有这个代码

public List<string> GetAllFilesFromFolder(string root, bool searchSubfolders)
{
    Queue<string> folders = new Queue<string>();
    List<string> files = new List<string>();
    folders.Enqueue(root);
    while (folders.Count != 0)
    {
        string currentFolder = folders.Dequeue();
        try
        {
            string[] filesInCurrent = System.IO.Directory.GetFiles(currentFolder, "*.*", System.IO.SearchOption.TopDirectoryOnly);
            files.AddRange(filesInCurrent);
        }
        catch
        {
            // Do Nothing
        }
        try
        {
            if (searchSubfolders)
            {
                string[] foldersInCurrent = System.IO.Directory.GetDirectories(currentFolder, "*.*", System.IO.SearchOption.TopDirectoryOnly);
                foreach (string _current in foldersInCurrent)
                {
                    folders.Enqueue(_current);
                }
            }
        }
        catch
        {
            // Do Nothing
        }
    }
    return files;
}
Run Code Online (Sandbox Code Playgroud)

它列出特定目录中的所有文件并搜索忽略异常的子目录 List<string>

但是我怎么能列出 List<string>结果到列表框中? …

c#

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